summaryrefslogtreecommitdiff
path: root/boost/geometry/multi/algorithms/convert.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/geometry/multi/algorithms/convert.hpp')
-rw-r--r--boost/geometry/multi/algorithms/convert.hpp107
1 files changed, 0 insertions, 107 deletions
diff --git a/boost/geometry/multi/algorithms/convert.hpp b/boost/geometry/multi/algorithms/convert.hpp
index 4745791135..0e7b2946d4 100644
--- a/boost/geometry/multi/algorithms/convert.hpp
+++ b/boost/geometry/multi/algorithms/convert.hpp
@@ -15,114 +15,7 @@
#define BOOST_GEOMETRY_MULTI_ALGORITHMS_CONVERT_HPP
-#include <boost/range/metafunctions.hpp>
-
#include <boost/geometry/algorithms/convert.hpp>
-#include <boost/geometry/multi/core/tags.hpp>
-
-
-namespace boost { namespace geometry
-{
-
-#ifndef DOXYGEN_NO_DETAIL
-namespace detail { namespace conversion
-{
-
-template <typename Single, typename Multi, typename Policy>
-struct single_to_multi: private Policy
-{
- static inline void apply(Single const& single, Multi& multi)
- {
- traits::resize<Multi>::apply(multi, 1);
- Policy::apply(single, *boost::begin(multi));
- }
-};
-
-
-
-template <typename Multi1, typename Multi2, typename Policy>
-struct multi_to_multi: private Policy
-{
- static inline void apply(Multi1 const& multi1, Multi2& multi2)
- {
- 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)
- {
- Policy::apply(*it1, *it2);
- }
- }
-};
-
-
-}} // namespace detail::convert
-#endif // DOXYGEN_NO_DETAIL
-
-
-#ifndef DOXYGEN_NO_DISPATCH
-namespace dispatch
-{
-
-// Dispatch for multi <-> multi, specifying their single-version as policy.
-// Note that, even if the multi-types are mutually different, their single
-// version types might be the same and therefore we call boost::is_same again
-
-template <typename Multi1, typename Multi2, std::size_t DimensionCount>
-struct convert<Multi1, Multi2, multi_tag, multi_tag, DimensionCount, false>
- : detail::conversion::multi_to_multi
- <
- Multi1,
- Multi2,
- convert
- <
- typename boost::range_value<Multi1>::type,
- typename boost::range_value<Multi2>::type,
- typename single_tag_of
- <
- typename tag<Multi1>::type
- >::type,
- typename single_tag_of
- <
- typename tag<Multi2>::type
- >::type,
- DimensionCount
- >
- >
-{};
-
-template <typename Single, typename Multi, typename SingleTag, std::size_t DimensionCount>
-struct convert<Single, Multi, SingleTag, multi_tag, DimensionCount, false>
- : detail::conversion::single_to_multi
- <
- Single,
- Multi,
- convert
- <
- Single,
- typename boost::range_value<Multi>::type,
- typename tag<Single>::type,
- typename single_tag_of
- <
- typename tag<Multi>::type
- >::type,
- DimensionCount,
- false
- >
- >
-{};
-
-
-} // namespace dispatch
-#endif // DOXYGEN_NO_DISPATCH
-
-
-}} // namespace boost::geometry
-
#endif // BOOST_GEOMETRY_MULTI_ALGORITHMS_CONVERT_HPP