diff --git a/include/boost/range/concepts.hpp b/include/boost/range/concepts.hpp index 2441d43..0732e26 100755 --- a/include/boost/range/concepts.hpp +++ b/include/boost/range/concepts.hpp @@ -60,7 +60,8 @@ namespace boost { struct SinglePassRangeConcept { typedef typename range_value::type range_value; typedef typename range_iterator::type range_iterator; - typedef typename range_const_iterator::type range_const_iterator; + //typedef typename range_iterator::type range_const_iterator; + void constraints() { function_requires< @@ -80,7 +81,6 @@ namespace boost { } T a; range_iterator i; - range_const_iterator ci; bool b; }; @@ -88,7 +88,6 @@ namespace boost { template struct ForwardRangeConcept { typedef typename range_difference::type range_difference; - typedef typename range_size::type range_size; void constraints() { function_requires< @@ -99,17 +98,13 @@ namespace boost { typename range_iterator::type > >(); - s = boost::size(a); } - T a; - range_size s; }; //! Check if a type T models the BidirectionalRange range concept. template struct BidirectionalRangeConcept { typedef typename range_reverse_iterator::type range_reverse_iterator; - typedef typename range_const_reverse_iterator::type range_const_reverse_iterator; void constraints() { function_requires< @@ -131,12 +126,13 @@ namespace boost { } T a; range_reverse_iterator i; - range_const_reverse_iterator ci; }; //! Check if a type T models the RandomAccessRange range concept. template struct RandomAccessRangeConcept { + typedef typename range_size::type range_size; + void constraints() { function_requires< @@ -147,7 +143,12 @@ namespace boost { typename range_iterator::type > >(); - } + + s = boost::size(a); + } + + T a; + range_size s; }; } // namespace boost