diff options
Diffstat (limited to 'boost/geometry/views/detail/boundary_view/interface.hpp')
-rw-r--r-- | boost/geometry/views/detail/boundary_view/interface.hpp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/boost/geometry/views/detail/boundary_view/interface.hpp b/boost/geometry/views/detail/boundary_view/interface.hpp new file mode 100644 index 0000000000..4d0b6d0303 --- /dev/null +++ b/boost/geometry/views/detail/boundary_view/interface.hpp @@ -0,0 +1,70 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) + +// Copyright (c) 2015, Oracle and/or its affiliates. + +// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle + +// Licensed under the Boost Software License version 1.0. +// http://www.boost.org/users/license.html + +#ifndef BOOST_GEOMETRY_VIEWS_DETAIL_BOUNDARY_VIEW_INTERFACE_HPP +#define BOOST_GEOMETRY_VIEWS_DETAIL_BOUNDARY_VIEW_INTERFACE_HPP + +#include <boost/geometry/core/tag.hpp> +#include <boost/geometry/algorithms/not_implemented.hpp> + + +namespace boost { namespace geometry +{ + + +#ifndef DOXYGEN_NO_DISPATCH +namespace detail_dispatch +{ + +template <typename Geometry, typename Tag = typename tag<Geometry>::type> +struct boundary_view + : not_implemented<Tag> +{}; + +} // namespace detail_dispatch +#endif // DOXYGEN_NO_DISPATCH + + +#ifndef DOXYGEN_NO_DETAIL +namespace detail +{ + +template <typename Geometry> +struct boundary_view + : detail_dispatch::boundary_view<Geometry> +{ + explicit boundary_view(Geometry& geometry) + : detail_dispatch::boundary_view<Geometry>(geometry) + {} +}; + +} // namespace detail +#endif // DOXYGEN_NO_DETAIL + + +#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS +namespace traits +{ + +template <typename Geometry> +struct tag< geometry::detail::boundary_view<Geometry> > +{ + typedef typename detail_dispatch::boundary_view + < + Geometry + >::tag_type type; +}; + +} // namespace traits +#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS + + +}} // namespace boost::geometry + +#endif // BOOST_GEOMETRY_VIEWS_DETAIL_BOUNDARY_VIEW_INTERFACE_HPP |