Boost logo

Boost :

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

on Mon Dec 03 2007, Joel de Guzman <> wrote:

> Peter Dimov wrote:
>>>> 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 already.
See also

>> 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

Boost list run by bdawes at, gregod at, cpdaniel at, john at