File indexing completed on 2025-01-18 09:36:54
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef BOOST_GEOMETRY_VIEWS_DETAIL_BOUNDARY_VIEW_INTERFACE_HPP
0011 #define BOOST_GEOMETRY_VIEWS_DETAIL_BOUNDARY_VIEW_INTERFACE_HPP
0012
0013 #include <boost/geometry/core/tag.hpp>
0014 #include <boost/geometry/algorithms/not_implemented.hpp>
0015
0016
0017 namespace boost { namespace geometry
0018 {
0019
0020
0021 #ifndef DOXYGEN_NO_DISPATCH
0022 namespace detail_dispatch
0023 {
0024
0025 template <typename Geometry, typename Tag = typename tag<Geometry>::type>
0026 struct boundary_view
0027 : not_implemented<Tag>
0028 {};
0029
0030 }
0031 #endif
0032
0033
0034 #ifndef DOXYGEN_NO_DETAIL
0035 namespace detail
0036 {
0037
0038 template <typename Geometry>
0039 struct boundary_view
0040 : detail_dispatch::boundary_view<Geometry>
0041 {
0042 explicit boundary_view(Geometry& geometry)
0043 : detail_dispatch::boundary_view<Geometry>(geometry)
0044 {}
0045 };
0046
0047 }
0048 #endif
0049
0050
0051 #ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS
0052 namespace traits
0053 {
0054
0055 template <typename Geometry>
0056 struct tag< geometry::detail::boundary_view<Geometry> >
0057 {
0058 typedef typename detail_dispatch::boundary_view
0059 <
0060 Geometry
0061 >::tag_type type;
0062 };
0063
0064 }
0065 #endif
0066
0067
0068 }}
0069
0070 #endif