C++ Standard Library Issues List (Revision 9)

Index by Status

Reference ISO/IEC IS 14882:1998(E)

This document is the Index by Status for the Library Active Issues List and Library Closed Issues List.

Also see:

Index by Status

DR

Issue Section Title
1 17.4.2.2 C library linkage editing oversight
2 20.4.5.3 Auto_ptr conversions effects incorrect
4 21.3 Basic_string size_type and difference_type should be implementation defined
13 27.6.1.2.3 Eos refuses to die
14 22.1.1.3 Locale::combine should be const
15 22.1.1.3 Locale::name requirement inconsistent
16 22.2.1.4 Bad ctype_byname<char> decl
18 22.2.2.1.1 Get(...bool&) omitted
20 22.2.3.1.2 Thousands_sep returns wrong type
22 27.8.1.7 Member open vs. flags
23 22.2.2.1.2 Num_get overflow result
24 22.2.1.5.2 "do_convert" doesn't exist
25 21.3.7.9 String operator<< uses width() value wrong
27 21.3.5.5 String::erase(range) yields wrong iterator
28 22.2.1.3.2 Ctype<char>is ambiguous
29 27.3.1 Ios_base::init doesn't exist
30 22.1.1.1.1 Wrong header for LC_*
33 22.2.1.5.2 Codecvt<> mentions from_type
34 22.2.2.2.2 True/falsename() not in ctype<>
35 27.4 No manipulator unitbuf in synopsis
36 27.4.2.5 Iword & pword storage lifetime omitted
37 22.1.1 Leftover "global" reference
38 22.1.2 Facet definition incomplete
39 24.5.3.4 Sbufiter ++ definition garbled
40 22.2.8 Meaningless normative paragraph in examples
46 D.7 Minor Annex D errors
47 27.4.2.3 Imbue() and getloc() Returns clauses swapped
51 23.1 Requirement to not invalidate iterators missing
52 27.4.3.2 Small I/O problems
56 27.5.2 Showmanyc's return type
57 21.1.3.2 Mistake in char_traits
59 27.5.2.3.1 Ambiguity in specification of gbump
62 27.6.1.3 Sync's return value
64 27.6.1.2.3 Exception handling in basic_istream::operator>>(basic_streambuf*)
66 D.7.1.3 Strstreambuf::setbuf
68 27.6.1.2.3 Extractors for char* should store null at end
70 18.6 Uncaught_exception() missing throw() specification
71 22.2.5.1 Do_get_monthname synopsis missing argument
78 27.4.2 Typo: event_call_back
79 26.2.1 Inconsistent declaration of polar()
80 26.2.1 Global Operators of complex declared twice
90 21.3.7.9 Incorrect description of operator >> for strings
106 26.3.5 Numeric library private members are implementation defined

Dup

Issue Section Title
10 22.2.1.5.2 Codecvt<>::do unclear
43 22.2.1.5.2 Locale table correction
67 21.3.7.9 Setw useless for strings
72 22.2.1.5 Do_convert phantom member function
87 21.3.6.8 Error in description of string::compare()
89 21.3.5.4 Missing throw specification for string::insert() and string::replace()

NAD

Issue Section Title
6 27.4.3 File position not an offset unimplementable
12 20.1.5 Way objects hold allocators unclear
45 27.7.3 Stringstreams read/write pointers initial position unclear
73 27.8.1 is_open should be const
77 26.3.2.3 Valarray operator[] const returning value
81 26.3.5 Wrong declaration of slice operations
82 23.1.2 Missing constant for set elements
84 21.3.5 Ambiguity with string::insert()
85 21 String char types
88 21.3.5.4 Inconsistency between string::insert() and string::append()
93 26.3 Incomplete Valarray Subset Definitions
95 17.4.4.4 Members added by the implementation
97 23 Insert inconsistent definition
99 24.4.1.3.13 Reverse_iterator comparisons completely wrong
100 24.4.2 Insert iterators/ostream_iterators overconstrained
101 23.2.4 No way to free storage for vector and deque
104 21.3.4 Description of basic_string::operator[] is unclear
105 27.8 fstream ctors argument types desired
107 26.3.2 Valarray constructor is strange
113 27.6.1.1 Missing/extra iostream sync semantics
116 23.3.5 bitset cannot be constructed with a const char*
128 27.7 Need open_mode() function for file stream, string streams, file buffers, and string  buffers
130 23.1.2 Return type of container::erase(iterator) differs for associative containers
131 23.2.2.4 list::splice throws nothing
135 27.6.1.5.1 basic_iostream doubly initialized

New

Issue Section Title
140 23.3.1 map<Key, T>::value_type does not satisfy the assignable requirement
141 21.3.6.4 basic_string::find_last_of, find_last_not_of say pos instead of xpos
142 25.3.8 lexicographical_compare complexity wrong
143 D.5 C header wording unclear
144 23.2.1.1 Deque constructor complexity wrong
145 27.4.4.1 adjustfield lacks default value 
146 26.2.6 complex<T> Inserter and Extractor need sentries
147 17.4.4.3 Library Intro refers to global functions that aren't global
148 22.2.8 Functions in the example facet BoolNames should be const
149 23.1.1 Insert should return iterator to first element inserted
150 25.1.4 Find_first_of says integer instead of iterator
151 23.1.1 Can't currently clear() empty container
152 22.2.1.1.2 Typo in scan_is() semantics
153 22.2.1.3.2 Typo in narrow() semantics
154 22.2.2.1.2 Missing double specifier for do_get()
155 27.3 Typo in naming the class defining the class Init
156 27.4.2.3 Typo in imbue() description
157 27.4.2.5 Meaningless error handling for pword() and iword()
158 27.5.2.4.2 Underspecified semantics for setbuf()
159 27.5.2.4.3 Strange use of underflow()
160 27.6.1.1 Typo: Use of non-existing function exception()
161 27.6.1.2.2 Typo: istream_iterator vs. istreambuf_iterator
162 27.6.1.2.3 Really "formatted input functions"?
163 27.6.1.3 Return of gcount() after a call to gcount
164 22.2.5.3.2 do_put() has apparently unused fill argument
165 27.6.2.1 xsputn(), pubsync() never called by basic_ostream members?
166 27.6.2.5.3 Really "formatted output functions"?
167 27.6.2.5.4 Improper use of traits_type::length()
168 27.6.2.6 Type: formatted vs. unformatted
169 27.7.1.3 Bad efficiency of overflow() mandated
170 27.7.4 Inconsistent definition of traits_type
171 27.8.1.4 Strange seekpos() semantics due to joint position
172 27.6.1.3 Inconsistent types for basic_istream::ignore()
173 27.8.1.4 Inconsistent types for basic_filebuf::setbuf()
174 D.4.6 Typo: OFF_T vs. POS_T
175 D.4.6 Ambiguity for basic_streambuf::pubseekpos() and a few other functions.
176 D.4.6 exceptions() in ios_base...?
177 26.2.6 Complex operators cannot be explicitly instantiated
178 27.3.1 Should clog and cerr initially be tied to cout?
179 24.1.1 Comparison of const_iterators to iterators doesn't work
180 23 Container member iterator arguments constness has unintended consequences
181 20.2.2 make_pair() unintended behavior
182 17 Ambiguous references to size_t
183 27.6.3 I/O stream manipulators don't work for wide character streams
184 18.2.1 numeric_limits<bool> wording problems
185 20.3 Questionable use of term "inline"
186 23.3.5.2 bitset::set() second parameter should be bool
187 25.2.2 iter_swap underspecified
188 26.3.2.6 valarray helpers missing augmented assignment operators
189 27.4.2.2 setprecision() not specified correctly

Open

Issue Section Title
3 18.3 Atexit registration during atexit() call is not described
8 22.1.1.5 Locale::global lacks guarantee
9 18.4.1 Operator new(0) calls should not yield the same pointer
19 22.2.1.5.2 "Noconv" definition too vague
26 27.6.1.1.2 Bad sentry example
44 27 Iostreams use operator== on int_type values
49 27.4.2.4 Underspecification of ios_base::sync_with_stdio
50 27.4.2 Copy constructor and assignment operator of ios_base
58 27.6.1.2.3 Extracting a char from a wide-oriented stream
60 27.6.1.2.1 What is a formatted input function?
61 27.6.1.3 Ambiguity in iostreams exception policy
63 27.6.2.6 Exception-handling policy for unformatted output
65 D.7.1.3 Underspecification of strstreambuf::seekoff
76 22.2.1.5 Can a codecvt facet always convert one internal character at a time?
83 21 String::npos vs. string::max_size()
86 21.3.1 String constructors don't describe exceptions
91 21.3.7.9 Description of operator>> and getline() for string<> might cause endless loop
92 25 Incomplete Algorithm Requirements
94 17.4.4 May library implementors add template parameters to Standard Library classes?
96 23.2.5 Vector<bool> is not a container
98 24.1.1 Input iterator requirements are badly written
102 23.1.2 Bug in insert range in associative containers
103 23.1.2 set::iterator is required to be modifiable, but this allows modification of keys
109 20.3.6 Missing binders for non-const sequence elements
111 24.5.3.5 istreambuf_iterator::equal overspecified, inefficient
118 27.6.1.2.2 basic_istream uses nonexistent num_get member functions
120 17.4.3.1 Can an implementor add specializations?
121 22.1.1.1.1 Detailed definition for ctype<wchar_t> specialization missing
122 27.5.2 streambuf/wstreambuf description should not say they are specializations
123 26.3.5.4 Should valarray helper arrays fill functions be const?
127 20.4.5 auto_ptr<> conversion issues
134 23.2.4.1 vector and deque constructors over specified
136 27.6.1.3 seekp, seekg setting wrong streams?
137 22.1.1 Do use_facet and has_facet look in the global locale?
138 22.2.1.4 Class ctype_byname<char> redundant and misleading

Ready

Issue Section Title
5 21.3.6.8 String::compare specification questionable
7 21 String clause minor problems
11 23.3.5 Bitset minor problems
31 22.1.1 Immutable locale values
42 21.3 String ctors specify wrong default allocator
48 27.4.2.1.1 Use of non-existent exception constructor
53 27.4.4.1 Basic_ios destructor unspecified
54 27.5.2.1 Basic_streambuf's destructor
55 27 Invalid stream position is undefined
69 23.2.4 Must elements of a vector be contiguous?
74 22.2.1.5.2 Garbled text for codecvt::do_max_length
75 22.2.1.5 Contradiction in codecvt::length's argument types
110 24.5.3 istreambuf_iterator::equal not const
119 17.4.4.8 Should virtual functions be allowed to strengthen the exception specification?
124 22.2.1.2 ctype_byname<charT>::do_scan_is & do_scan_not return type should be const charT*
125 26.3.2 valarray<T>::operator!() return type is inconsistent
126 22.2.1.1.2 typos in Effects clause of ctype::do_narrow()
132 23.2.2.2 list::resize description uses random access iterators
133 23.3.1 map missing get_allocator()
139 23.1.1 Optional sequence operation table description unclear

Review

Issue Section Title
17 22.2.2.1.2 Bad bool parsing
21 22.1.1.1.1 Codecvt_byname<> instantiations
32 27.5.2.4.4 Pbackfail description inconsistent
41 27.4.2 Ios_base needs clear(), exceptions()
108 18.6.1 Lifetime of exception::what() return unspecified
112 24.5.4.1 Minor typo in ostreambuf_iterator constructor
114 18.4.1.3 Placement forms example in error twice
115 D.7.4.1 Typo in strstream constructors
117 27.6.2.5.2 basic_ostream uses nonexistent num_put member functions
129 27.6.1.3 Need error indication from seekp() and seekg()

----- End of document -----