1*404b540aSrobertstd::allocator 2*404b540aSrobert 3*404b540aSrobert - persistent allocator 4*404b540aSrobert 5*404b540aSrobert - shared memory allocator (use or link to boost::shmem::allocator) 6*404b540aSrobert 7*404b540aSrobertstd::string 8*404b540aSrobert 9*404b540aSrobert - document __gnu_cxx::__versa_string, add new policies 10*404b540aSrobert (Policy-based design incorporating COW 11*404b540aSrobert vs. deep copy issues, MT scalability 12*404b540aSrobert See Andrei Alexandrescu, June 2001, C/C++ Users Journal 13*404b540aSrobert "Generic<Programming>: A Policy-Based basic_string Implementation" 14*404b540aSrobert http://www.cuj.com/documents/s=7994/cujcexp1906alexandr/) 15*404b540aSrobert 16*404b540aSrobert - operator!= and utility/rel_ops operators need to be made safe with 17*404b540aSrobert string and vector iterator classes. basic_string::reverse_iterator may 18*404b540aSrobert be implemented incorrectly, or need things like 19*404b540aSrobert operator==(__normal_iterator, const char*&), and swap(vector) 20*404b540aSrobert 21*404b540aSrobert - 'do the right thing' ctor fixing needs to be done for string. This 22*404b540aSrobert is still subject to some debate on the library issues list, so I 23*404b540aSrobert suggest punting till the dust clears. 24*404b540aSrobert 25*404b540aSrobert - fix template members of basic_string<> to overload iterators and 26*404b540aSrobert non-iterators properly. (This is the infamous hack as in vector<> etc 27*404b540aSrobert 23.1.1 para 10.) 28*404b540aSrobert 29*404b540aSrobertstd::locale 30*404b540aSrobert 31*404b540aSrobert - implement __convert_to_v and __convert_from_v without "C" library 32*404b540aSrobert functions and and LANG environment variable dependencies. 33*404b540aSrobert 34*404b540aSrobert - use localedata to implement generic named (non-MT-safe) locales? 35*404b540aSrobert Figure out a way to use ICU data, like libjava? Re-package and use 36*404b540aSrobert the glibc localedata, even if we aren't on linux? Need a generic 37*404b540aSrobert locale model that does something besides the "C" locale. 38*404b540aSrobert 39*404b540aSrobert - make locale::classic() separate from named locale code. This will 40*404b540aSrobert improve the static linkage situation, but will require new 41*404b540aSrobert initialization code. In particular, we need lazy-initialization of 42*404b540aSrobert locale::classic(), and maybe the has_facet/use_facet functions for all 43*404b540aSrobert the required facets. The end goal is a self-contained 44*404b540aSrobert locale_init.cc, or one with transitive closure without the locale 45*404b540aSrobert instantiations (locale-inst.cc) or the named locale bits 46*404b540aSrobert (localename.cc). 47*404b540aSrobert 48*404b540aSrobert - Jerry(?)/Paolo(?) work on __float_to_char. 49*404b540aSrobert 50*404b540aSrobert - minimize ctype convertion in data facets, see numpunct/num_put/num_get 51*404b540aSrobert 52*404b540aSrobertstd::basic_filebuf, 27_io 53*404b540aSrobert 54*404b540aSrobert - wfilebuf, get variable-encoding working and tested, including 55*404b540aSrobert positioning and seeking. (I think this may be done now) 56*404b540aSrobert 57*404b540aSrobert - wfilebuf testsuite (getting there...) 58*404b540aSrobert 59*404b540aSrobert - look ahead for unbuffered io, so know when multiple putc's can be 60*404b540aSrobert coalesced. 61*404b540aSrobert 62*404b540aSrobert - unlocked __basic_file + new mutext class 63*404b540aSrobert 64*404b540aSrobert - optimized the sentries for istream/ostream 65*404b540aSrobert 66*404b540aSrobert - v2 vs. v3 speed 67*404b540aSrobert 68*404b540aSrobert - add optimization hooks (esp. whitespace eating) to streambuf 69*404b540aSrobert - add _M_begin() and _M_end() to streambuf 70*404b540aSrobert - add algorithm specializations for [io]streambuf_iterator (copy find etc.) 71*404b540aSrobert 72*404b540aSroberttestsuite 73*404b540aSrobert 74*404b540aSrobert - valgrind hooks into make check so can tell memory leakage 75*404b540aSrobert Some commentary on the valgrind users list 76*404b540aSrobert 77*404b540aSrobert - add hooks for qmtest, pychart, other for visual diffs 78*404b540aSrobert 79*404b540aSrobert - automatic testing of interactive tests 80*404b540aSrobert 81*404b540aSrobert - diffing generated output files 82*404b540aSrobert 83*404b540aSrobert - provide testsuites for numerics. 84*404b540aSrobert 85*404b540aSrobert - make check-abi needs to have full symbol checking. Scope the LSB 86*404b540aSrobert testsuite, see what's going on with the typeinfo etc. bits. 87*404b540aSrobert 88*404b540aSrobert - try to do a better job of ABI testing, with instantiations of all 89*404b540aSrobert standard-specified types checked, not just exported symbols. 90*404b540aSrobert 91*404b540aSrobertg++/binutils 92*404b540aSrobert 93*404b540aSrobert - compression for wide versions of basic types, not just narrow 94*404b540aSrobert 95*404b540aSrobertthreads 96*404b540aSrobert 97*404b540aSrobert - create MT abstraction layer for atomicity to pthreads. 98*404b540aSrobert 99*404b540aSrobert - solution for threads + C++. 100*404b540aSrobert 101*404b540aSrobertother/random 102*404b540aSrobert 103*404b540aSrobert- relocations, work on getting these down 104*404b540aSrobert 105*404b540aSrobert- issues with __builtin_memcpy and std::copy from Jerry Quinn 106*404b540aSrobert http://gcc.gnu.org/ml/libstdc++/2003-02/msg00056.html 107*404b540aSrobert http://gcc.gnu.org/ml/libstdc++/2003-02/msg00302.html 108*404b540aSrobert http://gcc.gnu.org/ml/gcc/2003-10/msg01305.html 109*404b540aSrobert 110*404b540aSrobert- fix dependency tracking for includes (.h, .tcc) during build process. 111*404b540aSrobert 112*404b540aSrobert- coordinate with "C" library people the "C" compatibility headers. 113*404b540aSrobert 114*404b540aSrobert- Think about naming all member data and member functions consistently 115*404b540aSrobert as per 116*404b540aSrobert funtions: _M_verb_adverb 117*404b540aSrobert data: _M_noun_adjective 118*404b540aSrobert 119*404b540aSrobert- A C++STYLE guide that deals with nested namespaces, and that 120*404b540aSroberteverybody can live with. 121*404b540aSrobert 122*404b540aSrobert- exception specifications need to be reviewed for all parts of the 123*404b540aSrobertlibrary support and utility areas, particularly <new>. Part of this is 124*404b540aSroberta standards issue, where the 27_io standard is really in an odd 125*404b540aSrobertspot. Do the work to make this consistent. 126*404b540aSrobert 127*404b540aSrobert- C-related issues WRT to io and filepos, mbstate_t. Seeking in wide 128*404b540aSrobertstreams. May need to define operators for mbstate_t so that 129*404b540aSrobert'mbstate_t& == mbstate_t' is something that can be done. 130*404b540aSrobert 131*404b540aSrobert- scoping/linking issues WRT to C structs need to be worked out. See 132*404b540aSrobertNathan's commentary on cantrip, http://www.cantrip.org/cheaders.html 133*404b540aSrobert 134*404b540aSrobert- auto_ptr: seems to be some disagreement on what is 135*404b540aSrobertstandards-conformant behavior, specially on conversion operators. 136*404b540aSrobert 137*404b540aSrobert- list::assignment operator needs const_cast 138*404b540aSrobert 139*404b540aSrobert- a cleaner division between pointers-to-value_type and true iterators 140*404b540aSrobertneeds to be drawn throughout the entire STL implementation. 141*404b540aSrobert 142*404b540aSrobert- priority_queue conversions may be non-conformant 143*404b540aSrobert 144*404b540aSrobert- Protect valarray::result_type (not Standard) and make it work with 145*404b540aSrobert the various helper classes. 146*404b540aSrobert 147*404b540aSrobert- Make sure `valarray<bool> & == _Expr<_BinClos<logical_or,_ValArray,_ValArray,double,double>,bool>' 148*404b540aSrobert is defined 149*404b540aSrobert 150*404b540aSrobert- All of the Library working group closed issues need to be 151*404b540aSrobertaddressed. Some of them proposed resolutions are already in the v-3 152*404b540aSrobertsources, with macro-guards. Also, same with the TR. 153*404b540aSrobert 154*404b540aSrobert- need to think about doing a .texi or DocBook manual, instead of all 155*404b540aSrobertthese HTML pages. In addition, it would be nice to have a full manual, 156*404b540aSrobertinstead of a lot of ad-hoc pages. Weaknesses include numerics, locale, 157*404b540aSrobertand io. 158*404b540aSrobert 159*404b540aSrobert- add FAQ entries -- improve the install instructions 160*404b540aSrobert 161*404b540aSrobert- add HOWTO entries 162*404b540aSrobert 163*404b540aSrobert- do more doxygen manpages 164*404b540aSrobert 165