diff --git a/include/boost/geometry/core/closure.hpp b/include/boost/geometry/core/closure.hpp index 9792e463e..d3ac5a9df 100644 --- a/include/boost/geometry/core/closure.hpp +++ b/include/boost/geometry/core/closure.hpp @@ -45,6 +45,26 @@ struct closure } // namespace traits +#ifndef DOXYGEN_NO_DETAIL +namespace core_detail { namespace closure +{ + +struct closed +{ + static const closure_selector value = geometry::closed; +}; + +struct open +{ + static const closure_selector value = geometry::open; +}; + + +}} // namespace detail::point_order +#endif // DOXYGEN_NO_DETAIL + + + #ifndef DOXYGEN_NO_DISPATCH namespace core_dispatch { @@ -59,6 +79,18 @@ struct closure ); }; +template +struct closure : public core_detail::closure::open {}; + +template +struct closure : public core_detail::closure::closed {}; + +template +struct closure : public core_detail::closure::open {}; + +template +struct closure : public core_detail::closure::open {}; + template struct closure diff --git a/include/boost/geometry/multi/algorithms/intersection.hpp b/include/boost/geometry/multi/algorithms/intersection.hpp index 612722cfd..3bc16e353 100644 --- a/include/boost/geometry/multi/algorithms/intersection.hpp +++ b/include/boost/geometry/multi/algorithms/intersection.hpp @@ -10,6 +10,7 @@ #include +#include #include #include #include diff --git a/include/boost/geometry/multi/algorithms/union.hpp b/include/boost/geometry/multi/algorithms/union.hpp index 73ae2e04a..c416a7519 100644 --- a/include/boost/geometry/multi/algorithms/union.hpp +++ b/include/boost/geometry/multi/algorithms/union.hpp @@ -10,6 +10,7 @@ #include +#include #include #include #include diff --git a/include/boost/geometry/multi/algorithms/within.hpp b/include/boost/geometry/multi/algorithms/within.hpp index b038f9f46..ac0324163 100644 --- a/include/boost/geometry/multi/algorithms/within.hpp +++ b/include/boost/geometry/multi/algorithms/within.hpp @@ -13,6 +13,8 @@ #include #include +#include +#include #include namespace boost { namespace geometry diff --git a/include/boost/geometry/multi/core/closure.hpp b/include/boost/geometry/multi/core/closure.hpp index 46f79a18b..43bfa8c34 100644 --- a/include/boost/geometry/multi/core/closure.hpp +++ b/include/boost/geometry/multi/core/closure.hpp @@ -24,6 +24,11 @@ namespace boost { namespace geometry namespace core_dispatch { +template +struct closure : public core_detail::closure::closed {}; + +template +struct closure : public core_detail::closure::closed {}; // Specialization for polygon: the closure is the closure of its rings template