
"David Abrahams" <dave@boost-consulting.com> wrote in message news:ullgkdxb0.fsf@boost-consulting.com... | "Thorsten Ottosen" <nesotto@cs.auc.dk> writes: [snip] | > exactly. this at least one benefit of using namespace + _of postfix over prefixing with range_. If the namespace is hidiously long, | > the user can remove it or shorten it. | > | > but I would like to hear more voices on this issue :-) | | boost::iterators::value<I>::type | boost::iterators::reference<I>::type | | boost::ranges::value<R>::type | | and so forth? good idea to rename value_type<I>::type value<T>::type :-) I guess we should do that with range::size<R>::type range::difference<R>::type too. but then what happens when I have a function called size()? I guess the namespace will protect against clashes, ie, namespace range { template< class T > struct size { typedef T type; }; } template< class T > typename range::size<T>::type size( const T& r ) { } should work.. br -Thorsten