std::allocator- switch to mt_allocator with --enable-threads=posix.- persistent allocator- global/extern allocatorstd::string- Policy-based design incorporating COWvs. deep copy issues, MT scalabilitySee Andrei Alexandrescu, June 2001, C/C++ Users Journal"Generic<Programming>: A Policy-Based basic_string Implementation"http://www.cuj.com/documents/s=7994/cujcexp1906alexandr/- operator!= and utility/rel_ops operators need to be made safe withstring and vector iterator classes. basic_string::reverse_iterator maybe implemented incorrectly, or need things likeoperator==(__normal_iterator, const char*&), and swap(vector)- 'do the right thing' ctor fixing needs to be done for string. Thisis still subject to some debate on the library issues list, so Isuggest punting till the dust clears.- fix template members of basic_string<> to overload iterators andnon-iterators properly. (This is the infamous hack as in vector<> etc23.1.1 para 10.)std::locale- implement __convert_to_v and __convert_from_v without "C" libraryfunctions and and LANG environment variable dependencies.- use localedata to implement generic named (non-MT-safe) locales?Figure out a way to use ICU data, like libjava? Re-package and usethe glibc localedata, even if we aren't on linux? Need a genericlocale model that does something besides the "C" locale.- make locale::classic() separate from named locale code. This willimprove the static linkage situation, but will require newinitialization code. In particular, we need lazy-initialization oflocale::classic(), and maybe the has_facet/use_facet functions for allthe required facets. The end goal is a self-containedlocale_init.cc, or one with transitive closure without the localeinstantiations (locale-inst.cc) or the named locale bits(localename.cc).- Jerry(?)/Paolo(?) work on __float_to_char.- minimize ctype convertion in data facets, see numpunct/num_put/num_getstd::basic_filebuf, 27_io- wfilebuf, get variable-encoding working and tested, includingpositioning and seeking. (I think this may be done now)- wfilebuf testsuite (getting there...)- look ahead for unbuffered io, so know when multiple putc's can becoalesced.- unlocked __basic_file + new mutext class- optimized the sentries for istream/ostream- v2 vs. v3 speed- add optimization hooks (esp. whitespace eating) to streambuf- add _M_begin() and _M_end() to streambuf- add algorithm specializations for [io]streambuf_iterator (copy find etc.)testsuite- valgrind hooks into make check so can tell memory leakageSome commentary on the valgrind users list- add hooks for qmtest for visual diffs- automatic testing of interactive tests- diffing generated output files- provide testsuites for numerics.- make check-abi needs to have full symbol checking. Scope the LSBtestsuite, see what's going on with the typeinfo etc. bits.- try to do a better job of ABI testing, with instantiations of allstandard-specified types checked, not just exported symbols.g++/binutils- compression for wide versions of basic types, not just narrowthreads- create MT abstraction layer for atomicity to pthreads.- solution for threads + C++.- audit for places where __builtin_expect can be used.- relocations, work on getting these down- issues with __builtin_memcpy and std::copy from Jerry Quinnhttp://gcc.gnu.org/ml/libstdc++/2003-02/msg00056.htmlhttp://gcc.gnu.org/ml/libstdc++/2003-02/msg00302.htmlhttp://gcc.gnu.org/ml/gcc/2003-10/msg01305.html- fix dependency tracking for includes (.h, .tcc) during build process.- coordinate with "C" library people the "C" compatibility headers.- Think about naming all member data and member functions consistentlyas perfuntions: _M_verb_adverbdata: _M_noun_adjective- A C++STYLE guide that deals with nested namespaces, and thateverybody can live with.- exception specifications need to be reviewed for all parts of thelibrary support and utility areas, particularly <new>. Part of this isa standards issue, where the 27_io bugs/standard is really in an oddspot.- C-related issues WRT to io and filepos, mbstate_t. Seeking in widestreams. May need to define operators for mbstate_t so that'mbstate_t& == mbstate_t' is something that can be done.- scoping/linking issues WRT to C structs need to be worked out. SeeNathan's commentary on cantrip, http://www.cantrip.org/cheaders.html- auto_ptr: seems to be some disagreement on what isstandards-conformant behavior, specially on conversion operators.- list::assignment operator needs const_cast- a cleaner division between pointers-to-value_type and true iteratorsneeds to be drawn throughout the entire STL implementation.- priority_queue conversions may be non-conformant- Protect valarray::result_type (not Standard) and make it work withthe various helper classes.- Make sure `valarray<bool> & == _Expr<_BinClos<logical_or,_ValArray,_ValArray,double,double>,bool>'is defined- All of the Library working group closed issues need to beaddressed. Some of them proposed resolutions are already in the v-3sources, with macro-guards. Also, same with the TR.- add deprecated features from Annex D- add #ifdef wrappers for all of them, including in eachC <xxx.h> header- replace typedef'd non-deprecated types with more type-safe equivalents.- add feature-test macros for non-standard extensions- add MT support for locale, string, istream, ostream- need to think about doing a .texi or DocBook manual, instead of allthese HTML pages. In addition, it would be nice to have a full manual,instead of a lot of ad-hoc pages. Weaknesses include numerics, locale,and io.- add FAQ entries -- improve the install instructions- add HOWTO entries- do more doxygen manpages