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]

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



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