diff --git a/Kinetic_data_structures/include/CGAL/Tools/utility_macros.h b/Kinetic_data_structures/include/CGAL/Tools/utility_macros.h index 456f37045bc..00d90ad37fe 100644 --- a/Kinetic_data_structures/include/CGAL/Tools/utility_macros.h +++ b/Kinetic_data_structures/include/CGAL/Tools/utility_macros.h @@ -61,18 +61,18 @@ } #define CGAL_ITERATOR(uc_name, lc_name, const_it_type,it_type, bexpr, eexpr) \ - typedef boost::iterator_range uc_name##s; \ + typedef boost::iterator_range< it_type > uc_name##s; \ uc_name##s lc_name##s() { \ return uc_name##s(it_type(bexpr), it_type(eexpr)); \ } \ - typedef boost::iterator_range uc_name##_consts; \ + typedef boost::iterator_range< const_it_type > uc_name##_consts; \ uc_name##_consts lc_name##s() const { \ return uc_name##_consts(const_it_type(bexpr), const_it_type(eexpr)); \ } #define CGAL_CONST_ITERATOR(uc_name, lc_name, it_type, bexpr, eexpr) \ - typedef boost::iterator_range uc_name##s; \ + typedef boost::iterator_range< it_type > uc_name##s; \ uc_name##s lc_name##s() const { \ return uc_name##s(bexpr, eexpr); \ } @@ -95,14 +95,14 @@ bool contains(ucname##_key k) const { \ return fexpr != eexpr; \ } \ - std::iterator_traits::reference get(ucname##_key k) { \ + std::iterator_traits< ucname##s::iterator >::reference get(ucname##_key k) { \ CGAL_assertion(contains(k)); \ return *fexpr; \ } \ ucname##s::iterator find(ucname##_key k) { \ return fexpr; \ } \ - std::iterator_traits::value_type get(ucname##_key k) const { \ + std::iterator_traits< ucname##s::const_iterator >::value_type get(ucname##_key k) const { \ CGAL_assertion(contains(k)); \ return *fexpr; \ } \