
Hi All, I have planned to add a few extra convenience function to iterator_range and sub_range. Some people have said the classes could have been a little easier to use. The changes I suggest are the following: iterator_range: -------------- value_type& front() const; value_type& back() const; value_type& operator[]( size_type ) const; value_type& at( size_type ) const; void advance( size_type ); void narrow( size_type left, size_type right ); iterator_range& operator++(); value_type& operator*() const; sub_range: ---------- the same, but now constness is propagated freestanding: ------------ iterator_range make_sub_range( range&, size_type left, size_type right = 0 ); iterator_range make_super_range( range&, size_type left, size_type right = 0 ); iterator_range make_range( range&, difference_type left, difference_type right = 0 ); Comments? -Thorsten