diff options
Diffstat (limited to 'boost/geometry/core/point_type.hpp')
-rw-r--r-- | boost/geometry/core/point_type.hpp | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/boost/geometry/core/point_type.hpp b/boost/geometry/core/point_type.hpp index e148c84a57..f70e1fedd5 100644 --- a/boost/geometry/core/point_type.hpp +++ b/boost/geometry/core/point_type.hpp @@ -16,7 +16,7 @@ #include <boost/mpl/assert.hpp> -#include <boost/range.hpp> +#include <boost/range/value_type.hpp> #include <boost/type_traits/remove_const.hpp> #include <boost/geometry/core/ring_type.hpp> @@ -102,13 +102,45 @@ struct point_type<polygon_tag, Polygon> }; +template <typename MultiPoint> +struct point_type<multi_point_tag, MultiPoint> +{ + typedef typename boost::range_value + < + MultiPoint + >::type type; +}; + + +template <typename MultiLinestring> +struct point_type<multi_linestring_tag, MultiLinestring> +{ + typedef typename point_type + < + linestring_tag, + typename boost::range_value<MultiLinestring>::type + >::type type; +}; + + +template <typename MultiPolygon> +struct point_type<multi_polygon_tag, MultiPolygon> +{ + typedef typename point_type + < + polygon_tag, + typename boost::range_value<MultiPolygon>::type + >::type type; +}; + + } // namespace core_dispatch #endif // DOXYGEN_NO_DISPATCH /*! \brief \brief_meta{type, point_type, \meta_geometry_type} -\tparam Geometry \tparam_geometry +\tparam Geometry \tparam_geometry \ingroup core \qbk{[include reference/core/point_type.qbk]} |