Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2007-12-04 10:03:25


on Mon Dec 03 2007, Joel de Guzman <joel-AT-boost-consulting.com> wrote:

> Peter Dimov wrote:
>> JOAQUIN LOPEZ MU?Z:
>>
>>>> namespace boost { namespace foobar
>> ...
>>
>>> This is not the case at least for one Boost library,
>>> namely Boost.Tuple, whose associated namespace is
>>> boost::tuples, with a postfixed 's'.

That convention is actually documented at
http://www.boost.org/more/lib_guide.htm#Naming_consistency already.
See also http://lists.boost.org/Archives/boost/2001/06/13360.php

>> It's also not the case for std::tuple, whose namespace is std,
>> without a subnamespace. :-)
>>
>> One benefit of having everything in boost (or, more precisely, everything
>> that is supposed to be proposed for inclusion into the standard library) is
>> that name collisions become apparent earlier.
>
> Boost.Tuple should have been a "core" library.

It can be considered a "core" library. Remember, the "standard
practice" is that a *small* core library *may* place its components
directly in namespace boost, not that it must do so. And, as far as
I'm concerned, taking advantage of that leeway should be discouraged.
>From my point of view, it's mostly a way of legitimizing legacy design
choices that have long standing so we don't disrupt the whole
universe by trying to move boost::shared_ptr.

> Yes, I agree that everything that is supposed to be proposed for
> inclusion into the standard library should be at the "core".

I'm not sure why that's a good idea, and furthermore I don't think
it's tenable. We'll sometimes make decisions about attempts to
standardize components long after a library has been accepted.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk