1 // Boost.Geometry (aka GGL, Generic Geometry Library)
3 // Copyright (c) 2015, Oracle and/or its affiliates.
5 // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
7 // Licensed under the Boost Software License version 1.0.
8 // http://www.boost.org/users/license.html
10 #ifndef BOOST_GEOMETRY_VIEWS_DETAIL_BOUNDARY_VIEW_INTERFACE_HPP
11 #define BOOST_GEOMETRY_VIEWS_DETAIL_BOUNDARY_VIEW_INTERFACE_HPP
13 #include <boost/geometry/core/tag.hpp>
14 #include <boost/geometry/algorithms/not_implemented.hpp>
17 namespace boost { namespace geometry
21 #ifndef DOXYGEN_NO_DISPATCH
22 namespace detail_dispatch
25 template <typename Geometry, typename Tag = typename tag<Geometry>::type>
27 : not_implemented<Tag>
30 } // namespace detail_dispatch
31 #endif // DOXYGEN_NO_DISPATCH
34 #ifndef DOXYGEN_NO_DETAIL
38 template <typename Geometry>
40 : detail_dispatch::boundary_view<Geometry>
42 explicit boundary_view(Geometry& geometry)
43 : detail_dispatch::boundary_view<Geometry>(geometry)
48 #endif // DOXYGEN_NO_DETAIL
51 #ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS
55 template <typename Geometry>
56 struct tag< geometry::detail::boundary_view<Geometry> >
58 typedef typename detail_dispatch::boundary_view
65 #endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS
68 }} // namespace boost::geometry
70 #endif // BOOST_GEOMETRY_VIEWS_DETAIL_BOUNDARY_VIEW_INTERFACE_HPP