diff options
Diffstat (limited to 'boost/geometry/multi/algorithms/for_each.hpp')
-rw-r--r-- | boost/geometry/multi/algorithms/for_each.hpp | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/boost/geometry/multi/algorithms/for_each.hpp b/boost/geometry/multi/algorithms/for_each.hpp index 1be38e0a7e..d8b3af1ff2 100644 --- a/boost/geometry/multi/algorithms/for_each.hpp +++ b/boost/geometry/multi/algorithms/for_each.hpp @@ -15,115 +15,7 @@ #define BOOST_GEOMETRY_MULTI_ALGORITHMS_FOR_EACH_HPP -#include <boost/range.hpp> -#include <boost/typeof/typeof.hpp> - -#include <boost/geometry/multi/core/tags.hpp> -#include <boost/geometry/multi/core/point_type.hpp> - - #include <boost/geometry/algorithms/for_each.hpp> - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace for_each -{ - -// Implementation of multi, for both point and segment, -// just calling the single version. -template -< - typename MultiGeometry, - typename Functor, - bool IsConst, - typename Policy -> -struct for_each_multi -{ - static inline Functor apply( - typename add_const_if_c<IsConst, MultiGeometry>::type& multi, - Functor f) - { - for(BOOST_AUTO_TPL(it, boost::begin(multi)); it != boost::end(multi); ++it) - { - f = Policy::apply(*it, f); - } - return f; - } -}; - - -}} // namespace detail::for_each -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename MultiGeometry, - typename Functor, - bool IsConst -> -struct for_each_point<multi_tag, MultiGeometry, Functor, IsConst> - : detail::for_each::for_each_multi - < - MultiGeometry, - Functor, - IsConst, - // Specify the dispatch of the single-version as policy - for_each_point - < - typename single_tag_of - < - typename tag<MultiGeometry>::type - >::type, - typename boost::range_value<MultiGeometry>::type, - Functor, - IsConst - > - > -{}; - - -template -< - typename MultiGeometry, - typename Functor, - bool IsConst -> -struct for_each_segment<multi_tag, MultiGeometry, Functor, IsConst> - : detail::for_each::for_each_multi - < - MultiGeometry, - Functor, - IsConst, - // Specify the dispatch of the single-version as policy - for_each_segment - < - typename single_tag_of - < - typename tag<MultiGeometry>::type - >::type, - typename boost::range_value<MultiGeometry>::type, - Functor, - IsConst - > - > -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - - #endif // BOOST_GEOMETRY_MULTI_ALGORITHMS_FOR_EACH_HPP |