From 97245d28ba54dda64dc43ed75da5378ae09f4caf Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Tue, 21 Dec 2010 21:41:49 +0000 Subject: [PATCH] Added multi/closure.hpp (adaptions for MPL_ASSERT) [SVN r67396] --- include/boost/geometry/core/closure.hpp | 32 +++++++++++++++++++ .../multi/algorithms/intersection.hpp | 1 + .../boost/geometry/multi/algorithms/union.hpp | 1 + .../geometry/multi/algorithms/within.hpp | 2 ++ include/boost/geometry/multi/core/closure.hpp | 5 +++ 5 files changed, 41 insertions(+) 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