Boost logo

Boost :

From: John Maddock (John_Maddock_at_[hidden])
Date: 1999-12-16 07:39:02


Howard -

>I would imagine that little implementation namespaces are (or soon will
be) common in boost libraries. Namespace aware browsers might have the
ability to hide and show, based on a namespace name. Instead of
presenting a zillion little implementation detail namespaces to such a
browser, how 'bout if boost libraries standardize on a common
"implementation detail" namespace. Then it would be easy for the user of
a namespace aware browser to "show boost", but hide "boost::details".<

Good idea, but is it worth adopting the underscore + upper case approach -
this is reserved in global namespace and in namespace std, but allowed in
other namespaces, the ambiguity that I *think* it resolves is:

#include <boost/some_header.hpp>
#include <other.hpp>

using namespace boost;

detail::myclass c; // ambiguity is this ::detail or boost::detail?

in contrast "_Detail" should never appear as a namespace or namespace
qualifier at global scope.

Hope I've got this right :-)

*********

Finally I wonder about using a single boost implementation namespace - is
there not the possibility of name clashes given that boost has many
authors? These may only show up with certain header file combinations.
Alternatives would seem to be either using the library name, or the authors
initials - BTW the latter is used extensively in the pharmaceutical
industry for devising short code names for chemical intermediates and seems
to work very well.

- John.


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