| std::allocator |
| |
| - switch to mt_allocator with --enable-threads=posix. |
| |
| - persistent allocator |
| |
| - global/extern allocator |
| |
| std::string |
| |
| - Policy-based design incorporating COW |
| vs. deep copy issues, MT scalability |
| See 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 with |
| string and vector iterator classes. basic_string::reverse_iterator may |
| be implemented incorrectly, or need things like |
| operator==(__normal_iterator, const char*&), and swap(vector) |
| |
| - 'do the right thing' ctor fixing needs to be done for string. This |
| is still subject to some debate on the library issues list, so I |
| suggest punting till the dust clears. |
| |
| - fix template members of basic_string<> to overload iterators and |
| non-iterators properly. (This is the infamous hack as in vector<> etc |
| 23.1.1 para 10.) |
| |
| std::locale |
| |
| - implement __convert_to_v and __convert_from_v without "C" library |
| functions 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 use |
| the glibc localedata, even if we aren't on linux? Need a generic |
| locale model that does something besides the "C" locale. |
| |
| - make locale::classic() separate from named locale code. This will |
| improve the static linkage situation, but will require new |
| initialization code. In particular, we need lazy-initialization of |
| locale::classic(), and maybe the has_facet/use_facet functions for all |
| the required facets. The end goal is a self-contained |
| locale_init.cc, or one with transitive closure without the locale |
| instantiations (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_get |
| |
| std::basic_filebuf, 27_io |
| |
| - wfilebuf, get variable-encoding working and tested, including |
| positioning 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 be |
| coalesced. |
| |
| - 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 leakage |
| Some 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 LSB |
| testsuite, see what's going on with the typeinfo etc. bits. |
| |
| - try to do a better job of ABI testing, with instantiations of all |
| standard-specified types checked, not just exported symbols. |
| |
| g++/binutils |
| |
| - compression for wide versions of basic types, not just narrow |
| |
| threads |
| |
| - 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 Quinn |
| http://gcc.gnu.org/ml/libstdc++/2003-02/msg00056.html |
| http://gcc.gnu.org/ml/libstdc++/2003-02/msg00302.html |
| http://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 consistently |
| as per |
| funtions: _M_verb_adverb |
| data: _M_noun_adjective |
| |
| - A C++STYLE guide that deals with nested namespaces, and that |
| everybody can live with. |
| |
| - exception specifications need to be reviewed for all parts of the |
| library support and utility areas, particularly <new>. Part of this is |
| a standards issue, where the 27_io bugs/standard is really in an odd |
| spot. |
| |
| - C-related issues WRT to io and filepos, mbstate_t. Seeking in wide |
| streams. 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. See |
| Nathan's commentary on cantrip, http://www.cantrip.org/cheaders.html |
| |
| - auto_ptr: seems to be some disagreement on what is |
| standards-conformant behavior, specially on conversion operators. |
| |
| - list::assignment operator needs const_cast |
| |
| - a cleaner division between pointers-to-value_type and true iterators |
| needs 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 with |
| the 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 be |
| addressed. Some of them proposed resolutions are already in the v-3 |
| sources, with macro-guards. Also, same with the TR. |
| |
| - add deprecated features from Annex D |
| - add #ifdef wrappers for all of them, including in each |
| C <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 all |
| these 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 |
| |