the no-export namespace name
Benjamin Kosnik
bkoz@redhat.com
Wed Jan 28 07:35:00 GMT 2004
Currently, extensions and implementation details are being put into
namespace __gnu_cxx.
I'm suggesting this should change.
I think __gnu_cxx is fine for the extensions. Not changing this will be
easiest for everybody, and will mean no changes to docs or interfaces.
I'm suggesting
__gnu_private
__gnu_cxx_private
__gnu_internal
__gnu_hidden
The other namespaces in use at the moment are:
std
std::rel_ops
__gnu_cxx
__gnu_cxx::demangler
__gnu_norm
__gnu_debug
__gnu_debug_def
For things like src/globals_io.cc and src/globals_locale.cc, etc. (Quick
recap: we do this so that things in implementation namespaces are not
exported by default. It may sound strange but it's a big help in making
symbol versioning comprehensible. Or, more comprehensible.)
Thoughts? Suggestions? I'm leaning toward __gnu_internal or __gnu_hidden
(a la the visibility attribute).
-benjamin
More information about the Libstdc++
mailing list