
"David Abrahams" <dave@boost-consulting.com> wrote in message news:uhdfznybq.fsf@boost-consulting.com... | | I don't remember whether I expressed these concerns earlier, but I | don't think most of the names ought to have been in namespace boost. | For example, names like range_xxxx are crying out for a range:: | namespace in which to put a component called xxxx. Also, names like | begin and end are so general and important that I think they should | have been in boost::range, with perhaps an optional header that brings | them into namespace boost via using declaration. This came up in the long discussion we had some time ago about ADL and names like begin()/end(). I think the consensus was to use the form range::iterator<T>::type range::value<T>::type iterator::value<T>::type iterator::difference<T>::type The only sorry thing about this is that in namespace std we already have a class called iterator. When I write the standard proposal, I will go for the range namespace + merge iterator<T>::type and const_iterator<T>::type. There are a number of larger changes we have already been considering; it might make sense to make use of the range namespace in the sane round for 1.34. -Thorsten