
"David Abrahams" <dave@boost-consulting.com> wrote in message news:uzmtrjbgr.fsf@boost-consulting.com... | | I note: | | ////////////////////////////////////////////////////////////////////////// | // default | ////////////////////////////////////////////////////////////////////////// | | template< typename C > | struct range_iterator | { | typedef BOOST_DEDUCED_TYPENAME C::iterator type; | }; | | (***) [snip, no const for C ] | at (***). What am I missing? Not much. It must be a left-over from desperate attempts to make the code portable. In general, people seem to prefer range_result_iterator<T>::type. We shuold just make range_iterator<const T> as well as range_iterator<T> valid and then depricate range_const_iterator and range_result_iterator. -Thorsten