diff --git a/Property_map/include/CGAL/property_map.h b/Property_map/include/CGAL/property_map.h index f58413b9755..988c7ab6583 100644 --- a/Property_map/include/CGAL/property_map.h +++ b/Property_map/include/CGAL/property_map.h @@ -27,6 +27,8 @@ #include // defines std::pair +#include +#include #include #include #include @@ -576,6 +578,38 @@ make_cartesian_converter_property_map(Vpm vpm) return Cartesian_converter_property_map(vpm); } +/// \cond SKIP_IN_MANUAL +// Syntaxic sugar for transform_iterator+pmap_to_unary_function +template +typename boost::transform_iterator, Iterator> +make_transform_iterator_from_property_map (Iterator it, Pmap pmap) +{ + return boost::make_transform_iterator (it, CGAL::Property_map_to_unary_function(pmap)); +} + +// Syntaxic sugar for make_range+transform_iterator+pmap_to_unary_function +template +CGAL::Iterator_range, + typename Range::const_iterator> > +make_transform_range_from_property_map (const Range& range, Pmap pmap) +{ + return CGAL::make_range + (make_transform_iterator_from_property_map (range.begin(), pmap), + make_transform_iterator_from_property_map (range.end(), pmap)); +} + +// Syntaxic sugar for make_range+transform_iterator+pmap_to_unary_function +template +CGAL::Iterator_range, + typename Range::iterator> > +make_transform_range_from_property_map (Range& range, Pmap pmap) +{ + return CGAL::make_range + (make_transform_iterator_from_property_map (range.begin(), pmap), + make_transform_iterator_from_property_map (range.end(), pmap)); +} +/// \endcond + } // namespace CGAL diff --git a/STL_Extension/include/CGAL/iterator.h b/STL_Extension/include/CGAL/iterator.h index 14c76b745e5..ea2b445b6f5 100644 --- a/STL_Extension/include/CGAL/iterator.h +++ b/STL_Extension/include/CGAL/iterator.h @@ -22,10 +22,8 @@ #include #include -#include #include #include -#include #include #include #include @@ -1482,37 +1480,6 @@ struct Range_iterator_type { typedef typename RangeRef::iterato template struct Range_iterator_type { typedef typename RangeRef::const_iterator type; }; -// Syntaxic sugar for transform_iterator+pmap_to_unary_function -template -typename boost::transform_iterator, Iterator> -make_transform_iterator_from_property_map (Iterator it, Pmap pmap) -{ - return boost::make_transform_iterator (it, CGAL::Property_map_to_unary_function(pmap)); -} - -// Syntaxic sugar for make_range+transform_iterator+pmap_to_unary_function -template -CGAL::Iterator_range, - typename Range::const_iterator> > -make_transform_range_from_property_map (const Range& range, Pmap pmap) -{ - return CGAL::make_range - (make_transform_iterator_from_property_map (range.begin(), pmap), - make_transform_iterator_from_property_map (range.end(), pmap)); -} - -// Syntaxic sugar for make_range+transform_iterator+pmap_to_unary_function -template -CGAL::Iterator_range, - typename Range::iterator> > -make_transform_range_from_property_map (Range& range, Pmap pmap) -{ - return CGAL::make_range - (make_transform_iterator_from_property_map (range.begin(), pmap), - make_transform_iterator_from_property_map (range.end(), pmap)); -} - - } //namespace CGAL #include