
FYI, The new version is now in cvs. Hopefully it will not cause too many problems, though I do expect some. The breaking changes are - boost::end( CharT[N]) does not differ from boost::end(T[N]) - boost::range_iterator<const T> is not a mutable iterator anymore - boost::size(rng) requires random access iterators - boost_range_begin ADL hooks renamed range_begin (ditto for boost_range_end) - mutable iterators must be defined as a specialization of boost::range_mutable_iterator Some additions are - new traits: * range_category * range_pointer * range_reference - fewer specializations needed to implement the concepts (and no specializations for const X) * range_iterator or range_mutable_iterator and range_const_iterator * range_size * range_begin/range_end All other traits/function are synthesized - new functions * distance(rng) * as_literal(rng) * as_array(rng) best regards -Thorsten