This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
[RFA] Status of HP/SGI extensions
- From: Paolo Carlini <pcarlini at unitus dot it>
- To: libstdc++ at gcc dot gnu dot org
- Cc: gdr at codesourcery dot com, bkoz at redhat dot com
- Date: Sun, 30 Dec 2001 18:47:40 +0100
- Subject: [RFA] Status of HP/SGI extensions
Hi all,
this is a (probably incomplete) list of the extensions currently polluting
namespace std::
*stl_algobase.h: copy_n, lexicographical_compare_3way
*stl_function.h: identity_element, unary_compose, binary_compose, identity,
select1st, select2nd, project1st, project2nd, constant_void_fun,
constant_unary_fun, constant_binary_fun, constant0, constant1, constant2,
subtractive_rng
*stl_numeric.h: power, iota
*stl_tempbuf.h: temporary_buffer, get_temporary_buffer, return_temporary_buffer
*stl_tree.h: rb_tree
*stl_uninitialized.h: uninitialized_copy_n
Many of them can be rather easily moved (together with the respective helper
functions) to new files in include/ext, as we have already done for the
extensions inside stl_algo.h. I'm thinking for instance to rb_tree or to the
stl_tempbuf.h stuff. I'm planning to work on those in the next days.
However, as we have learned for stl_deque.h, but this is only an example, in
many circumstances the implementation of the standard library itself uses
internally the helper functions accompanying the extensions.
As pointed out by Gaby, it would be quite stupid to move the extensions together
with their helpers to separate files in namespace __gnu_cxx if then we have to
use the helpers to implement the standard library.
What about keeping the helpers (that is, from a practical point of view, those
names beginning with one or two underscores) insided namespace std, and
viceversa putting the extension themselves into separate files in namespace
__gnu_cxx?
Right now I don't have any better idea.
Cheers,
Paolo.