diff options
Diffstat (limited to 'boost/geometry/multi/algorithms/transform.hpp')
-rw-r--r-- | boost/geometry/multi/algorithms/transform.hpp | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/boost/geometry/multi/algorithms/transform.hpp b/boost/geometry/multi/algorithms/transform.hpp index 09926778f9..7aa691ec4a 100644 --- a/boost/geometry/multi/algorithms/transform.hpp +++ b/boost/geometry/multi/algorithms/transform.hpp @@ -14,89 +14,8 @@ #ifndef BOOST_GEOMETRY_MULTI_ALGORITHMS_TRANSFORM_HPP #define BOOST_GEOMETRY_MULTI_ALGORITHMS_TRANSFORM_HPP -#include <boost/range.hpp> -#include <boost/geometry/core/mutable_range.hpp> #include <boost/geometry/algorithms/transform.hpp> -#include <boost/geometry/multi/core/tags.hpp> - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace transform -{ - -/*! - \brief Is able to transform any multi-geometry, calling the single-version as policy -*/ -template <typename Multi1, typename Multi2, typename Policy> -struct transform_multi -{ - template <typename S> - static inline bool apply(Multi1 const& multi1, Multi2& multi2, S const& strategy) - { - traits::resize<Multi2>::apply(multi2, boost::size(multi1)); - - typename boost::range_iterator<Multi1 const>::type it1 - = boost::begin(multi1); - typename boost::range_iterator<Multi2>::type it2 - = boost::begin(multi2); - - for (; it1 != boost::end(multi1); ++it1, ++it2) - { - if (! Policy::apply(*it1, *it2, strategy)) - { - return false; - } - } - - return true; - } -}; - - -}} // namespace detail::transform -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template <typename Multi1, typename Multi2, typename Strategy> -struct transform - < - multi_tag, multi_tag, - Multi1, Multi2, - Strategy - > - : detail::transform::transform_multi - < - Multi1, - Multi2, - transform - < - typename single_tag_of - < - typename tag<Multi1>::type - >::type, - typename single_tag_of - < - typename tag<Multi2>::type - >::type, - typename boost::range_value<Multi1>::type, - typename boost::range_value<Multi2>::type, - Strategy - > - > -{}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -}} // namespace boost::geometry #endif // BOOST_GEOMETRY_MULTI_ALGORITHMS_TRANSFORM_HPP |