
Le 02/11/12 18:00, Robert Ramey a écrit :
Oswin Krause wrote:
c) The convention is: big libraries get their own namespace, small libraries don't need to. range is not a small library It was one at the beginning. Also in this case it is convenient as one can replace std::find with boost::find instead of boost::range::find which - espcially in conjunction with the adaptors - leads to a lot of noise for a simple thing. one can always alias it in any application.
We might disagree on what convention is. But I'll state that the boost namespace is getting two crowded. We are now encouraging new library to use the boost/<library name>/.....hpp and boost::<library name>:: ... convention.
This really necessary to be able to use typenames such as find, etc in different libraries.
Boost.Range was introduced in 1.32 and I think there were no such rule at this time. Of course we can move to a specific namespace and add a using declaration temporarily so that user can be able to disambiguate using the specific namespace. This is not always simple if as it is the case of Boost.range the user needs to specialize/overload some classes/functions on a specific namespace. I would like to add a new rule. Any library that has its counterpart in the C++ standard should/could use the boost namespace. Best, Vicente