
"Daniel Frey" <daniel.frey@aixigo.de> wrote in message news:cfi2an$4ed$1@sea.gmane.org... Hartmut Kaiser wrote:
Thorsten Ottosen wrote:
typename boost::range::value<T>::type
typename boost::range_value<T>::type
I think my personal view would be that I think range_ reads better than range::. Too many :: and it seems a bit confusing.
I'm personally prefer to use namespaces to structurize the code, i.e. the
typename range::value<T>::type
notation. The range_value<T>::type notation unneededly clutters the 'global' boost namespace.
| | I agree. Also, the user can use namespace aliases to shorten calls, | which doesn't work with range_. Ok, so there seem to be most people in favor of the namespace idea. Pavol Droba thinks so to. Matthew Wilson mentions we should see of any negative consequences. | The difference for the user is also quite minimal, but using namespaces | might also help to keep the library "cleaner" internally, as the | algorithms in range:: can call each other without long names. what algorithms? We cannot put size() in range:: since it will clash. I'm just wondering how the last details should be. I mean, now I have namespace boost { namespace range { template< class T > struct value; } } But would it not seem weird to specify a concept where the expression looks like boost::range::value<T>::type ?? I mean, the boost namespace should not be part of the concept. br Thorsten