This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Thoughts on __gnu_cxx


Phil Edwards <pedwards@dmapub.dma.org> writes:

[...]

| This is a bit of a dichotomy:  users can't easily tell the difference
| between what's meant for them and what isn't.  Uglification doesn't help
| them tell the difference, either:  __gnu_cxx::__verbose_terminate_handler()
| is safe for users, but the name says otherwise.

That is what we have documentations for ;-).  If a uglified name is
documented as an extension and usable in public code, then that it is.

| I suggest looking at the libsupc++ code, where
| 
|   -  the implementation details are hidden in a '__cxxabiv1' namespace,
|   -  an alias is set up, "namespace abi = __cxxabiv1;", and
|   -  everything is accessed as abi::foo

You cannot use namespace-alias in an extension-namespace-definition.

| Some possibilities:
| 
| Maybe we should leave the implemenation details in __gnu_cxx, and move
| the public extensions to 'gnu' or 'gnu_cxx'?
| 
| Maybe we should leave everything in __gnu_cxx, and make gnu_cxx (or whatever)
| an alias?

But, concretely what are we supposed to gain?

I think documenting __gnu_cxx as containing implementations codes (not
supposed to be used in public code) and documented extensions usable
in public code should be sufficient.

-- Gaby


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]