C++ Standard Library Issues List (Revision 15)

Table of Contents

Reference ISO/IEC IS 14882:1998(E)

This document is the Table of Contents for the Library Active Issues List, Library Defect Report List, and Library Closed Issues List.

Also see:

Table of Contents

Issue Title Section Status
1 C library linkage editing oversight 17.4.2.2 DR
2 Auto_ptr conversions effects incorrect 20.4.5.3 DR
3 Atexit registration during atexit() call is not described 18.3 Ready
4 Basic_string size_type and difference_type should be implementation defined 21.3 DR
5 String::compare specification questionable 21.3.6.8 DR
6 File position not an offset unimplementable 27.4.3 NAD
7 String clause minor problems 21 DR
8 Locale::global lacks guarantee 22.1.1.5 Ready
9 Operator new(0) calls should not yield the same pointer 18.4.1 Ready
10 Codecvt<>::do unclear 22.2.1.5.2 Dup
11 Bitset minor problems 23.3.5 DR
12 Way objects hold allocators unclear 20.1.5 NAD
13 Eos refuses to die 27.6.1.2.3 DR
14 Locale::combine should be const 22.1.1.3 DR
15 Locale::name requirement inconsistent 22.1.1.3 DR
16 Bad ctype_byname<char> decl 22.2.1.4 DR
17 Bad bool parsing 22.2.2.1.2 DR
18 Get(...bool&) omitted 22.2.2.1.1 DR
19 "Noconv" definition too vague 22.2.1.5.2 Ready
20 Thousands_sep returns wrong type 22.2.3.1.2 DR
21 Codecvt_byname<> instantiations 22.1.1.1.1 DR
22 Member open vs. flags 27.8.1.7 DR
23 Num_get overflow result 22.2.2.1.2 DR
24 "do_convert" doesn't exist 22.2.1.5.2 DR
25 String operator<< uses width() value wrong 21.3.7.9 DR
26 Bad sentry example 27.6.1.1.2 Ready
27 String::erase(range) yields wrong iterator 21.3.5.5 DR
28 Ctype<char>is ambiguous 22.2.1.3.2 DR
29 Ios_base::init doesn't exist 27.3.1 DR
30 Wrong header for LC_* 22.1.1.1.1 DR
31 Immutable locale values 22.1.1 Ready
32 Pbackfail description inconsistent 27.5.2.4.4 DR
33 Codecvt<> mentions from_type 22.2.1.5.2 DR
34 True/falsename() not in ctype<> 22.2.2.2.2 DR
35 No manipulator unitbuf in synopsis 27.4 DR
36 Iword & pword storage lifetime omitted 27.4.2.5 DR
37 Leftover "global" reference 22.1.1 DR
38 Facet definition incomplete 22.1.2 DR
39 istreambuf_iterator<>::operator++(int) definition garbled 24.5.3.4 DR
40 Meaningless normative paragraph in examples 22.2.8 DR
41 Ios_base needs clear(), exceptions() 27.4.2 DR
42 String ctors specify wrong default allocator 21.3 DR
43 Locale table correction 22.2.1.5.2 Dup
44 Iostreams use operator== on int_type values 27 Open
45 Stringstreams read/write pointers initial position unclear 27.7.3 NAD
46 Minor Annex D errors D.7 DR
47 Imbue() and getloc() Returns clauses swapped 27.4.2.3 DR
48 Use of non-existent exception constructor 27.4.2.1.1 DR
49 Underspecification of ios_base::sync_with_stdio 27.4.2.4 Open
50 Copy constructor and assignment operator of ios_base 27.4.2 DR
51 Requirement to not invalidate iterators missing 23.1 DR
52 Small I/O problems 27.4.3.2 DR
53 Basic_ios destructor unspecified 27.4.4.1 DR
54 Basic_streambuf's destructor 27.5.2.1 DR
55 Invalid stream position is undefined 27 DR
56 Showmanyc's return type 27.5.2 DR
57 Mistake in char_traits 21.1.3.2 DR
58 Extracting a char from a wide-oriented stream 27.6.1.2.3 NAD
59 Ambiguity in specification of gbump 27.5.2.3.1 DR
60 What is a formatted input function? 27.6.1.2.1 DR
61 Ambiguity in iostreams exception policy 27.6.1.3 Ready
62 Sync's return value 27.6.1.3 DR
63 Exception-handling policy for unformatted output 27.6.2.6 Ready
64 Exception handling in basic_istream::operator>>(basic_streambuf*) 27.6.1.2.3 DR
65 Underspecification of strstreambuf::seekoff D.7.1.3 NAD
66 Strstreambuf::setbuf D.7.1.3 DR
67 Setw useless for strings 21.3.7.9 Dup
68 Extractors for char* should store null at end 27.6.1.2.3 DR
69 Must elements of a vector be contiguous? 23.2.4 DR
70 Uncaught_exception() missing throw() specification 18.6 DR
71 Do_get_monthname synopsis missing argument 22.2.5.1 DR
72 Do_convert phantom member function 22.2.1.5 Dup
73 is_open should be const 27.8.1 NAD
74 Garbled text for codecvt::do_max_length 22.2.1.5.2 DR
75 Contradiction in codecvt::length's argument types 22.2.1.5 DR
76 Can a codecvt facet always convert one internal character at a time? 22.2.1.5 Open
77 Valarray operator[] const returning value 26.3.2.3 NAD
78 Typo: event_call_back 27.4.2 DR
79 Inconsistent declaration of polar() 26.2.1 DR
80 Global Operators of complex declared twice 26.2.1 DR
81 Wrong declaration of slice operations 26.3.5 NAD
82 Missing constant for set elements 23.1.2 NAD
83 String::npos vs. string::max_size() 21.3 DR
84 Ambiguity with string::insert() 21.3.5 NAD
85 String char types 21 NAD
86 String constructors don't describe exceptions 21.3.1 Ready
87 Error in description of string::compare() 21.3.6.8 Dup
88 Inconsistency between string::insert() and string::append() 21.3.5.4 NAD
89 Missing throw specification for string::insert() and string::replace() 21.3.5.4 Dup
90 Incorrect description of operator >> for strings 21.3.7.9 DR
91 Description of operator>> and getline() for string<> might cause endless loop 21.3.7.9 Open
92 Incomplete Algorithm Requirements 25 Open
93 Incomplete Valarray Subset Definitions 26.3 NAD
94 May library implementors add template parameters to Standard Library classes? 17.4.4 Open
95 Members added by the implementation 17.4.4.4 NAD
96 Vector<bool> is not a container 23.2.5 Open
97 Insert inconsistent definition 23 NAD
98 Input iterator requirements are badly written 24.1.1 Open
99 Reverse_iterator comparisons completely wrong 24.4.1.3.13 NAD
100 Insert iterators/ostream_iterators overconstrained 24.4.2 NAD
101 No way to free storage for vector and deque 23.2.4 NAD
102 Bug in insert range in associative containers 23.1.2 Open
103 set::iterator is required to be modifiable, but this allows modification of keys 23.1.2 Review
104 Description of basic_string::operator[] is unclear 21.3.4 NAD
105 fstream ctors argument types desired 27.8 NAD
106 Numeric library private members are implementation defined 26.3.5 DR
107 Valarray constructor is strange 26.3.2 NAD
108 Lifetime of exception::what() return unspecified 18.6.1 Ready
109 Missing binders for non-const sequence elements 20.3.6 Open
110 istreambuf_iterator::equal not const 24.5.3 DR
111 istreambuf_iterator::equal overspecified, inefficient 24.5.3.5 Open
112 Minor typo in ostreambuf_iterator constructor 24.5.4.1 Ready
113 Missing/extra iostream sync semantics 27.6.1.1 NAD
114 Placement forms example in error twice 18.4.1.3 Ready
115 Typo in strstream constructors D.7.4.1 Ready
116 bitset cannot be constructed with a const char* 23.3.5 NAD
117 basic_ostream uses nonexistent num_put member functions 27.6.2.5.2 Open
118 basic_istream uses nonexistent num_get member functions 27.6.1.2.2 Review
119 Should virtual functions be allowed to strengthen the exception specification? 17.4.4.8 DR
120 Can an implementor add specializations? 17.4.3.1 Review
121 Detailed definition for ctype<wchar_t> specialization missing 22.1.1.1.1 NAD
122 streambuf/wstreambuf description should not say they are specializations 27.5.2 Ready
123 Should valarray helper arrays fill functions be const? 26.3.5.4 Open
124 ctype_byname<charT>::do_scan_is & do_scan_not return type should be const charT* 22.2.1.2 DR
125 valarray<T>::operator!() return type is inconsistent 26.3.2 DR
126 typos in Effects clause of ctype::do_narrow() 22.2.1.1.2 DR
127 auto_ptr<> conversion issues 20.4.5 Ready
128 Need open_mode() function for file stream, string streams, file buffers, and string  buffers 27.7 NAD
129 Need error indication from seekp() and seekg() 27.6.1.3 Ready
130 Return type of container::erase(iterator) differs for associative containers 23.1.2 NAD
131 list::splice throws nothing 23.2.2.4 NAD
132 list::resize description uses random access iterators 23.2.2.2 DR
133 map missing get_allocator() 23.3.1 DR
134 vector constructors over specified 23.2.4.1 Ready
135 basic_iostream doubly initialized 27.6.1.5.1 NAD
136 seekp, seekg setting wrong streams? 27.6.1.3 Review
137 Do use_facet and has_facet look in the global locale? 22.1.1 Ready
138 Class ctype_byname<char> redundant and misleading 22.2.1.4 NAD
139 Optional sequence operation table description unclear 23.1.1 DR
140 map<Key, T>::value_type does not satisfy the assignable requirement 23.3.1 NAD
141 basic_string::find_last_of, find_last_not_of say pos instead of xpos 21.3.6.4 DR
142 lexicographical_compare complexity wrong 25.3.8 Ready
143 C .h header wording unclear D.5 NAD
144 Deque constructor complexity wrong 23.2.1.1 Ready
145 adjustfield lacks default value  27.4.4.1 NAD
146 complex<T> Inserter and Extractor need sentries 26.2.6 Ready
147 Library Intro refers to global functions that aren't global 17.4.4.3 Ready
148 Functions in the example facet BoolNames should be const 22.2.8 DR
149 Insert should return iterator to first element inserted 23.1.1 NAD
150 Find_first_of says integer instead of iterator 25.1.4 DR
151 Can't currently clear() empty container 23.1.1 DR
152 Typo in scan_is() semantics 22.2.1.1.2 DR
153 Typo in narrow() semantics 22.2.1.3.2 Review
154 Missing double specifier for do_get() 22.2.2.1.2 DR
155 Typo in naming the class defining the class Init 27.3 DR
156 Typo in imbue() description 27.4.2.3 DR
157 Meaningless error handling for pword() and iword() 27.4.2.5 Dup
158 Underspecified semantics for setbuf() 27.5.2.4.2 DR
159 Strange use of underflow() 27.5.2.4.3 Ready
160 Typo: Use of non-existing function exception() 27.6.1.1 DR
161 Typo: istream_iterator vs. istreambuf_iterator 27.6.1.2.2 DR
162 Really "formatted input functions"? 27.6.1.2.3 Dup
163 Return of gcount() after a call to gcount 27.6.1.3 Dup
164 do_put() has apparently unused fill argument 22.2.5.3.2 Ready
165 xsputn(), pubsync() never called by basic_ostream members? 27.6.2.1 Review
166 Really "formatted output functions"? 27.6.2.5.3 Dup
167 Improper use of traits_type::length() 27.6.2.5.4 Review
168 Typo: formatted vs. unformatted 27.6.2.6 DR
169 Bad efficiency of overflow() mandated 27.7.1.3 DR
170 Inconsistent definition of traits_type 27.7.4 Ready
171 Strange seekpos() semantics due to joint position 27.8.1.4 Review
172 Inconsistent types for basic_istream::ignore() 27.6.1.3 DR
173 Inconsistent types for basic_filebuf::setbuf() 27.8.1.4 DR
174 Typo: OFF_T vs. POS_T D.6 DR
175 Ambiguity for basic_streambuf::pubseekpos() and a few other functions. D.6 DR
176 exceptions() in ios_base...? D.6 DR
177 Complex operators cannot be explicitly instantiated 26.2.6 NAD
178 Should clog and cerr initially be tied to cout? 27.3.1 NAD
179 Comparison of const_iterators to iterators doesn't work 23.1 Review
180 Container member iterator arguments constness has unintended consequences 23 NAD
181 make_pair() unintended behavior 20.2.2 Review
182 Ambiguous references to size_t 17 Review
183 I/O stream manipulators don't work for wide character streams 27.6.3 Review
184 numeric_limits<bool> wording problems 18.2.1.5 Review
185 Questionable use of term "inline" 20.3 Review
186 bitset::set() second parameter should be bool 23.3.5.2 Review
187 iter_swap underspecified 25.2.2 DR
188 valarray helpers missing augmented assignment operators 26.3.2.6 NAD
189 setprecision() not specified correctly 27.4.2.2 DR
190 min() and max() functions should be std::binary_functions 25.3.7 NAD
191 Unclear complexity for algorithms such as binary search 25.3.3 NAD
192 a.insert(p,t) is inefficient and overconstrained 23.1.2 NAD
193 Heap operations description incorrect 25.3.6 DR
194 rdbuf() functions poorly specified 27.4.4 NAD
195 Should basic_istream::sentry's constructor ever set eofbit? 27.6.1.1.2 DR
196 Placement new example has alignment problems 18.4.1.3 NAD
197 max_size() underspecified 20.1.5 Review
198 Validity of pointers and references unspecified after iterator destruction 24.1 Open
199 What does allocate(0) return? 20.1.5 Ready
200 Forward iterator requirements don't allow constant iterators 24.1.3 Open
201 Numeric limits terminology wrong 18.2.1 Ready
202 unique() effects unclear when predicate not an equivalence relation 25.2.8 Open
203 basic_istream::sentry::sentry() is uninstantiable with ctype<user-defined type> 27.6.1.1.2 NAD
204 distance(first, last) when "last" is before "first" 24.3.4 NAD
205 numeric_limits unclear on how to determine floating point types 18.2.1.2 NAD
206 operator new(size_t, nothrow) may become unlinked to ordinary operator new if ordinary version replaced 18.4.1.1 NAD
207 ctype<char> members return clause incomplete 22.2.1.3.2 Open
208 Unnecessary restriction on past-the-end iterators 24.1 Ready
209 basic_string declarations inconsistent 21.3 Ready
210 distance first and last confused 25 Ready
211 operator>>(istream&, string&) doesn't set failbit 21.3.7.9 Ready
212 Empty range behavior unclear for several algorithms 25.3.7 Ready
213 Math function overloads ambiguous 26.5 NAD
214 set::find() missing const overload 23.3.3 Review
215 Can a map's key_type be const? 23.1.2 NAD
216 setbase manipulator description flawed 27.6.3 Review
217 Facets example (Classifying Japanese characters) contains errors 22.2.8 Ready
218 Algorithms do not use binary predicate objects for default comparisons 25.3 NAD
219 find algorithm missing version that takes a binary predicate argument 25.1.2 NAD
220 ~ios_base() usage valid? 27.4.2.7 Ready
221 num_get<>::do_get stage 2 processing broken 22.2.2.1.2 Review
222 Are throw clauses necessary if a throw is already implied by the effects clause? 17.3.1.3 Ready
223 reverse algorithm should use iter_swap rather than swap 25.2.9 Ready
224 clear() complexity for associative containers refers to undefined N 23.1.2 Ready
225 std:: algorithms use of other unqualified algorithms 17.4.4.3 Open
226 User supplied specializations or overloads of namespace std function templates 17.4.3.1 Open
227 std::swap() should require CopyConstructible or DefaultConstructible arguments 25.2.2 Ready
228 Incorrect specification of "..._byname" facets 22.2 New
229 Unqualified references of other library entities 17.4.1.1 New
230 Assignable specified without also specifying CopyConstructible 17 New
231 Precision in iostream? 22.2.2.2.2 New
232 "depends" poorly defined in 17.4.3.1 17.4.3.1 New
233 Insertion hints in associative containers 23.1.2 New
234 Typos in allocator definition 20.4.1.1 New
235 No specification of default ctor for reverse_iterator 24.4.1.1 New
236 ctype<char>::is() member modifies facet 24.2.1.3.2 New
237 Undefined expression in complexity specification 23.2.2.1 New
238 Contradictory results of stringbuf initialization. 27.7.1.1 New
239 Complexitiy of unique() and/or unique_copy incorrect 25.2.8 New
240 Complexity of adjacent_find() is meaningless 25.1.5 New
241 Does unique_copy() require CopyConstructible and Assignable? 25.2.8 New
242 Side effects of function objects 25.2.3 New
243 get and getline when sentry reports failure 27.6.1.3 New
244 Must find's third argument be CopyConstructible? 25.1.2 New
245 Which operations on istream_iterator triger input operations? 24.5.1 New
246 a.insert(p,t) is incorrectly specified 23.1.2 New
247 vector, deque::insert complexity 23.3.4.4 New
248 time_get fails to set eofbit 22.2.5 New
249 Return Type of auto_ptr::operator= 20.4.5 New
250 splicing invalidates iterators 23.2.2.4 New
251 basic_stringbuf missing allocator_type 27.7.1 New
252 missing casts/C-style casts used in iostreams 27.7 New
253 valarray helper functions are almost entirely useless 26.3.2.1 New
254 Exception types in clause 19 are constructed from std::string 19.1 New
255 Why do basic_streambuf<>::pbump() and gbump() take an int? 27.5.2 New
256 typo in 27.4.4.2, p17: copy_event does not exist 27.4.4.2 New
257 STL functional object and iterator inheritance. 20.3.1 New
258 Missing allocator requirement 20.1.5 New
259 basic_string::operator[] and const correctness 21.1.4 New
260 Inconsistent return type of istream_iterator::operator++(int) 24.5.1.2 New
261 Missing description of istream_iterator::operator!= 24.5.1.2 New
262 Bitmask operator ~ specified incorrectly 17.3.2.1.2 New
263 Severe restriction on basic_string reference counting 21.3 New
264 Associative container insert(i, j) complexity requirements are not feasible. 23.1.2 New

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