C++ Standard Library Issues List (Revision R55)

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 Reports List, and Library Closed Issues List.

Index by Section

(view only non-Ready open issues)

Section 1 (2 issues)

Issue Status Section Title Proposed Resolution Duplicates
653 NAD 1.2 [intro.refs] Library reserved names Yes
571 NAD Editorial 1.2 [intro.refs] Update C90 references to C99? Yes

Section 3 (1 issues)

Issue Status Section Title Proposed Resolution Duplicates
462 NAD 3.6.3 [basic.start.term] Destroying objects with static storage duration Yes

Section 17 (30 issues)

Issue Status Section Title Proposed Resolution Duplicates
385 NAD 17 [library] Does call by value imply the CopyConstructible requirement? Yes
625 Pending NAD Editorial 17 [library] mixed up Effects and Returns clauses Yes
182 WP 17 [library] Ambiguous references to size_t Yes
230 WP 17 [library] Assignable specified without also specifying CopyConstructible Yes
336 WP 17 [library] Clause 17 lack of references to deprecated headers Yes
424 Pending NAD Editorial 17.3.1.1 [structure.summary] normative notes Yes
663 NAD 17.3.1.3 [structure.specifications] Complexity Requirements Yes
626 NAD Editorial 17.3.1.3 [structure.specifications] new Remark clauses not documented Yes
222 TC 17.3.1.3 [structure.specifications] Are throw clauses necessary if a throw is already implied by the effects clause? Yes
262 WP 17.3.2.1.2 [bitmask.types] Bitmask operator ~ specified incorrectly Yes
229 WP 17.4.1.1 [contents] Unqualified references of other library entities Yes
310 WP 17.4.1.2 [headers] Is errno a macro? Yes
456 WP 17.4.1.2 [headers] Traditional C header files are overspecified Yes
465 WP 17.4.1.2 [headers] Contents of <ciso646> Yes
657 NAD 17.4.2.1 [using.headers] unclear requirement about header inclusion Yes
1 TC 17.4.2.2 [using.linkage] C library linkage editing oversight Yes
120 WP 17.4.3.1 [reserved.names] Can an implementor add specializations? Yes
226 WP 17.4.3.1 [reserved.names] User supplied specializations or overloads of namespace std function templates Yes
232 WP 17.4.3.1 [reserved.names] "depends" poorly defined in 17.4.3.1 Yes
422 WP 17.4.3.1 [reserved.names] explicit specializations of member functions of class templates Yes
294 WP 17.4.3.1.1 [macro.names] User defined macros and standard headers Yes
404 WP 17.4.3.4 [replacement.functions] May a replacement allocation function be declared inline? Yes
611 WP 17.4.3.6 [res.on.functions] Standard library templates and incomplete types Yes
529 NAD Editorial 17.4.3.8 [res.on.required] The standard encourages redundant and confusing preconditions Yes
94 NAD 17.4.4 [conforming] May library implementors add template parameters to Standard Library classes? Yes
147 TC 17.4.4.3 [global.functions] Library Intro refers to global functions that aren't global Yes
225 WP 17.4.4.3 [global.functions] std:: algorithms use of other unqualified algorithms Yes
95 NAD 17.4.4.4 [member.functions] Members added by the implementation Yes
372 NAD 17.4.4.8 [res.on.exception.handling] Inconsistent description of stdlib exceptions Yes
119 TC 17.4.4.8 [res.on.exception.handling] Should virtual functions be allowed to strengthen the exception specification? Yes

Section 18 (36 issues)

Issue Status Section Title Proposed Resolution Duplicates
306 WP 18.1 [support.types] offsetof macro and non-POD types Yes
449 WP 18.1 [support.types] Library Issue 306 Goes Too Far Yes
201 WP 18.2.1 [limits] Numeric limits terminology wrong Yes
559 WP 18.2.1 [limits] numeric_limits<const T> Yes
612 Ready 18.2.1.2 [numeric.limits.members] numeric_limits::is_modulo insufficiently defined Yes
205 NAD 18.2.1.2 [numeric.limits.members] numeric_limits unclear on how to determine floating point types Yes
591 NAD Editorial 18.2.1.2 [numeric.limits.members] Misleading "built-in Yes
497 WP 18.2.1.2 [numeric.limits.members] meaning of numeric_limits::traps for floating point types Yes
554 NAD 18.2.1.5 [numeric.special] Problem with lwg DR 184 numeric_limits<bool> Yes
184 WP 18.2.1.5 [numeric.special] numeric_limits<bool> wording problems Yes
613 WP 18.2.1.5 [numeric.special] max_digits10 missing from numeric_limits Yes
416 WP 18.2.2 [c.limits] definitions of XXX_MIN and XXX_MAX macros in climits Yes
557 Pending NAD Editorial 18.3 [cstdint] TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t) Yes
593 WP 18.3 [cstdint] __STDC_CONSTANT_MACROS Yes
553 NAD Editorial 18.3.1 [cstdint.syn] very minor editorial change intptr_t / uintptr_t Yes
3 TC 18.4 [support.start.term] Atexit registration during atexit() call is not described Yes
9 TC 18.5.1 [new.delete] Operator new(0) calls should not yield the same pointer Yes
627 NAD 18.5.1.1 [new.delete.single] Low memory and exceptions Yes
206 WP 18.5.1.1 [new.delete.single] operator new(size_t, nothrow) may become unlinked to ordinary operator new if ordinary version replaced Yes
319 WP 18.5.1.1 [new.delete.single] Storage allocation wording confuses "Required behavior", "Requires" Yes
298 WP 18.5.1.2 [new.delete.array] ::operator delete[] requirement incorrect/insufficient Yes
196 Dup 18.5.1.3 [new.delete.placement] Placement new example has alignment problems Yes 114
114 TC 18.5.1.3 [new.delete.placement] Placement forms example in error twice Yes 196
471 Ready 18.6.1 [type.info] result of what() implementation-defined Yes
108 TC 18.6.1 [type.info] Lifetime of exception::what() return unspecified Yes
269 NAD 18.7 [support.exception] cstdarg and unnamed parameters Yes
70 TC 18.7 [support.exception] Uncaught_exception() missing throw() specification Yes
266 WP 18.7.2.1 [bad.exception] bad_exception::~bad_exception() missing Effects clause Yes
433 NAD 18.7.2.4 [unexpected] Contradiction in specification of unexpected() Yes
313 NAD 18.7.3.3 [terminate] set_terminate and set_unexpected question Yes
314 NAD 18.7.3.3 [terminate] Is the stack unwound when terminate() is called? Yes
744 Ready 18.7.5 [propagation] What is the lifetime of an exception pointed to by an exception_ptr? Yes
746 Ready 18.7.5 [propagation] current_exception may fail with bad_alloc Yes
707 NAD 18.7.5 [propagation] null pointer constant for exception_ptr Yes
745 NAD 18.7.5 [propagation] copy_exception API slices. Yes
619 WP 18.8 [support.runtime] Longjmp wording problem Yes

Section 19 (6 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
254 WP 19.1 [std.exceptions] Exception types in clause 19 are constructed from std::string Yes
288 WP 19.3 [errno] <cerrno> requirements missing macro EILSEQ Yes
804 New 19.4 [syserr] Some problems with classes error_code/error_condition Yes
805 New 19.4 [syserr] use strong using No
697 NAD Editorial 19.4 [syserr] New <system_error> header leads to name clashes Yes
698 New 19.4.5.1 [syserr.syserr.overview] Some system_error issues No

Section 20 (89 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
312 WP 20 [utilities] Table 27 is missing headers Yes
724 Open 20.1.1 [utility.arg.requirements] DefaultConstructible is not defined Yes
742 Open 20.1.1 [utility.arg.requirements] Enabling swap for proxy iterators Yes
753 Open 20.1.1 [utility.arg.requirements] Move constructor in draft Yes
672 Ready 20.1.1 [utility.arg.requirements] Swappable requirements need updating Yes
390 NAD Editorial 20.1.1 [utility.arg.requirements] CopyConstructible requirements too strict Yes
594 Pending NAD Editorial 20.1.1 [utility.arg.requirements] Disadvantages of defining Swappable in terms of CopyConstructible and Assignable Yes
752 New 20.1.2 [allocator.requirements] Allocator complexity requirement Yes
431 Open 20.1.2 [allocator.requirements] Swapping containers with unequal allocators No
580 Open 20.1.2 [allocator.requirements] unused allocator members Yes 479
635 Open 20.1.2 [allocator.requirements] domain of allocator::address Yes
12 NAD 20.1.2 [allocator.requirements] Way objects hold allocators unclear Yes
197 NAD 20.1.2 [allocator.requirements] max_size() underspecified Yes
277 NAD 20.1.2 [allocator.requirements] Normative encouragement in allocator requirements unclear Yes
487 NAD 20.1.2 [allocator.requirements] Allocator::construct is too limiting Yes
560 NAD 20.1.2 [allocator.requirements] User-defined allocators without default constructor Yes
199 TC 20.1.2 [allocator.requirements] What does allocate(0) return? Yes
258 WP 20.1.2 [allocator.requirements] Missing allocator requirement Yes
274 WP 20.1.2 [allocator.requirements] a missing/impossible allocator requirement Yes
401 WP 20.1.2 [allocator.requirements] incorrect type casts in table 32 in lib.allocator.requirements Yes
402 WP 20.1.2 [allocator.requirements] wrong new expression in [some_]allocator::construct Yes
808 New 20.2.2 [forward] [forward] incorrect redundant specification Yes
700 WP 20.2.2 [forward] N1856 defines struct identity Yes
811 New 20.2.3 [pairs] pair of pointers no longer works with literal 0 No
348 Dup 20.2.3 [pairs] Minor issue with std::pair operator< Yes 532
296 NAD 20.2.3 [pairs] Missing descriptions and requirements of pair operators Yes
353 NAD Editorial 20.2.3 [pairs] std::pair missing template assignment Yes
482 NAD Editorial 20.2.3 [pairs] Swapping pairs Yes
181 TC 20.2.3 [pairs] make_pair() unintended behavior Yes
265 WP 20.2.3 [pairs] std::pair::pair() effects overly restrictive Yes
706 WP 20.2.3 [pairs] make_pair() should behave as make_tuple() wrt. reference_wrapper() Yes
522 Open 20.3 [tuple] Tuple doesn't define swap Yes
801 Open 20.3 [tuple] tuple and pair trivial members No
807 New 20.3.1.1 [tuple.cnstr] tuple construction should not fail unless its element's construction fails Yes
775 Ready 20.3.1.3 [tuple.helper] Tuple indexing should be unsigned? Yes
532 Pending NAD Editorial 20.3.1.5 [tuple.rel] Tuple comparison Yes 348
719 Open 20.4 [meta] std::is_literal type traits should be provided Yes
590 NAD Editorial 20.4 [meta] Type traits implementation latitude should be removed for C++0x Yes
525 NAD Editorial 20.4.4 [meta.unary] type traits definitions not clear Yes
747 Open 20.4.4.3 [meta.unary.prop] We have 3 separate type traits to identify classes supporting no-throw operations No
749 Ready 20.4.4.3 [meta.unary.prop] Currently has_nothrow_copy_constructor<T>::value is true if T has 'a' nothrow copy constructor. Yes
748 NAD 20.4.4.3 [meta.unary.prop] The is_abstract type trait is defined by reference to 10.4. Yes
750 Open 20.4.5 [meta.rel] The current definition for is_convertible requires that the type be implicitly convertible, so explicit constructors are ignored. No
705 WP 20.4.7 [meta.trans.other] type-trait decay incompletely specified Yes
351 NAD Editorial 20.5 [function.objects] unary_negate and binary_negate: struct or class? Yes
658 NAD Editorial 20.5 [function.objects] Two unspecified function comparators in [function.objects] Yes
185 WP 20.5 [function.objects] Questionable use of term "inline" Yes
660 WP 20.5 [function.objects] Missing Bitwise Operations Yes
257 NAD 20.5.3 [base] STL functional object and iterator inheritance. Yes
480 NAD 20.5.3 [base] unary_function and binary_function should have protected nonvirtual destructors Yes
501 NAD 20.5.3 [base] Proposal: strengthen guarantees of lib.comparisons Yes
521 WP 20.5.5 [refwrap] Garbled requirements for argument_type in reference_wrapper Yes
688 Open 20.5.5.1 [refwrap.const] reference_wrapper, cref unsafe, allow binding to rvalues Yes
689 WP 20.5.5.1 [refwrap.const] reference_wrapper constructor overly constrained Yes
284 WP 20.5.7 [comparisons] unportable example in 20.3.7, p6 Yes
297 WP 20.5.8 [logical.operations] const_mem_fun_t<>::argument_type should be const T* Yes
520 WP 20.5.11.1 [func.bind] Result_of and pointers to data members Yes
527 WP 20.5.11.1.3 [func.bind.bind] tr1::bind has lost its Throws clause Yes
770 Ready 20.5.15 [func.wrap] std::function should use rvalue swap Yes
769 New 20.5.15.2 [func.wrap.func] std::function should use nullptr_t instead of "unspecified-null-pointer-type" Yes
610 WP 20.5.15.2.1 [func.wrap.func.con] Suggested non-normative note for C++0x Yes
633 NAD Editorial 20.5.15.2.5 [func.wrap.func.targ] Return clause mentions undefined "type()" Yes
350 Dup 20.6.1.1 [allocator.members] allocator<>::address Yes 634
234 WP 20.6.1.1 [allocator.members] Typos in allocator definition Yes
400 WP 20.6.1.1 [allocator.members] redundant type cast in lib.allocator.members Yes
578 WP 20.6.1.1 [allocator.members] purpose of hint to allocator::allocate() Yes
634 WP 20.6.1.1 [allocator.members] allocator.address() doesn't work for types overloading operator& Yes 350
425 WP 20.6.3 [temporary.buffer] return value of std::get_temporary_buffer Yes
582 Open 20.6.4.1 [uninitialized.copy] specialized algorithms and volatile storage Yes
754 Pending NAD Editorial 20.6.4.1 [uninitialized.copy] Ambiguous return clause for std::uninitialized_copy Yes
762 Open 20.6.5 [unique.ptr] std::unique_ptr requires complete type? Yes
673 Ready 20.6.5 [unique.ptr] unique_ptr update Yes
686 NAD 20.6.5.2.4 [unique.ptr.single.observers] Unique_ptr and shared_ptr fail to specify non-convertibility to int for unspecified-bool-type Yes
806 New 20.6.5.2.5 [unique.ptr.single.modifiers] unique_ptr::reset effects incorrect, too permissive Yes
740 Ready 20.6.5.4 [unique.ptr.compiletime] Please remove *_ptr<T[N]> Yes
813 New 20.6.6.2 [util.smartptr.shared] "empty" undefined for shared_ptr No
710 Ready 20.6.6.2 [util.smartptr.shared] Missing postconditions Yes
758 Ready 20.6.6.2 [util.smartptr.shared] shared_ptr and nullptr Yes
541 WP 20.6.6.2 [util.smartptr.shared] shared_ptr template assignment and void Yes
674 WP 20.6.6.2 [util.smartptr.shared] shared_ptr interface changes for consistency with N1856 Yes
687 WP 20.6.6.2.1 [util.smartptr.shared.const] shared_ptr conversion constructor not constrained Yes
575 WP 20.6.6.2.2 [util.smartptr.shared.dest] the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptions Yes
711 Review 20.6.6.2.5 [util.smartptr.shared.obs] Contradiction in empty shared_ptr Yes
540 WP 20.6.6.2.5 [util.smartptr.shared.obs] shared_ptr<void>::operator*() Yes
542 WP 20.6.6.2.5 [util.smartptr.shared.obs] shared_ptr observers Yes
743 Ready 20.6.6.2.9 [util.smartptr.shared.spec] rvalue swap for shared_ptr Yes
533 DR 20.6.6.2.11 [util.smartptr.getdeleter] typo in 2.2.3.10/1 Yes
741 NAD 20.6.6.2.11 [util.smartptr.getdeleter] Const-incorrect get_deleter function for shared_ptr Yes
545 WP 20.6.6.2.11 [util.smartptr.getdeleter] When is a deleter deleted? Yes

Section 21 (46 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
343 Open 21 [strings] Unspecified library header dependencies Yes
85 NAD 21 [strings] String char types Yes
7 TC 21 [strings] String clause minor problems Yes
570 Open 21.1 [char.traits] Request adding additional explicit specializations of char_traits No
335 WP 21.1.1 [char.traits.require] minor issue with char_traits, table 37 Yes
352 WP 21.1.2 [char.traits.typedefs] missing fpos requirements Yes
709 Pending NAD Editorial 21.1.3 [char.traits.specializations] char_traits::not_eof has wrong signature Yes
467 WP 21.1.3.1 [char.traits.specializations.char] char_traits::lt(), compare(), and memcmp() Yes
57 TC 21.1.3.4 [char.traits.specializations.wchar.t] Mistake in char_traits Yes
614 Open 21.3 [basic.string] std::string allocator requirements still inconsistent No
718 Open 21.3 [basic.string] basic_string is not a sequence Yes
4 NAD 21.3 [basic.string] Basic_string size_type and difference_type should be implementation defined Yes
42 TC 21.3 [basic.string] String ctors specify wrong default allocator Yes
83 TC 21.3 [basic.string] String::npos vs. string::max_size() Yes 89
209 TC 21.3 [basic.string] basic_string declarations inconsistent Yes
263 WP 21.3 [basic.string] Severe restriction on basic_string reference counting Yes
530 WP 21.3 [basic.string] Must elements of a string be contiguous? Yes
534 WP 21.3 [basic.string] Missing basic_string members Yes
466 NAD 21.3.1 [string.require] basic_string ctor should prevent null pointer error Yes
86 TC 21.3.1 [string.require] String constructors don't describe exceptions Yes
301 WP 21.3.1 [string.require] basic_string template ctor effects clause omits allocator argument Yes
104 NAD 21.3.4 [string.capacity] Description of basic_string::operator[] is unclear Yes
259 WP 21.3.4 [string.capacity] basic_string::operator[] and const correctness Yes
84 NAD 21.3.5 [string.access] Ambiguity with string::insert() Yes
89 Dup 21.3.6.4 [string::insert] Missing throw specification for string::insert() and string::replace() Yes 83
88 NAD 21.3.6.4 [string::insert] Inconsistency between string::insert() and string::append() Yes
377 NAD 21.3.6.4 [string::insert] basic_string::insert and length_error Yes
141 TC 21.3.6.4 [string::insert] basic_string::find_last_of, find_last_not_of say pos instead of xpos Yes
27 TC 21.3.6.5 [string::erase] String::erase(range) yields wrong iterator Yes
428 WP 21.3.6.5 [string::erase] string::erase(iterator) validity Yes
368 NAD Editorial 21.3.6.6 [string::replace] basic_string::replace has two "Throws" paragraphs Yes
87 Dup 21.3.6.8 [string::swap] Error in description of string::compare() Yes 5
5 TC 21.3.6.8 [string::swap] String::compare specification questionable Yes 87
403 WP 21.3.6.8 [string::swap] basic_string::swap should not throw exceptions Yes
535 WP 21.3.6.8 [string::swap] std::string::swap specification poorly worded Yes
67 Dup 21.3.8.9 [string.io] Setw useless for strings Yes 25
25 TC 21.3.8.9 [string.io] String operator<< uses width() value wrong Yes 67
90 TC 21.3.8.9 [string.io] Incorrect description of operator >> for strings Yes
211 TC 21.3.8.9 [string.io] operator>>(istream&, string&) doesn't set failbit Yes
91 WP 21.3.8.9 [string.io] Description of operator>> and getline() for string<> might cause endless loop Yes
435 WP 21.3.8.9 [string.io] bug in DR 25 Yes
586 WP 21.3.8.9 [string.io] string inserter not a formatted function Yes
772 New 21.4 [string.conversions] Impossible return clause in [string.conversions] Yes
771 Review 21.4 [string.conversions] Impossible throws clause in [string.conversions] Yes
615 NAD Editorial 21.5 [c.strings] Inconsistencies in Section 21.4 Yes
345 WP 21.5 [c.strings] type tm in <cwchar> Yes

Section 22 (101 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
708 Open 22 [localization] Locales need to be per thread and updated for POSIX changes No
317 WP 22 [localization] Instantiation vs. specialization of facets Yes
495 WP 22 [localization] Clause 22 template parameter requirements Yes
378 Dup 22.1.1 [locale] locale immutability and locale::operator=() Yes 31
330 NAD 22.1.1 [locale] Misleading "exposition only" value in class locale definition Yes
31 TC 22.1.1 [locale] Immutable locale values Yes 378
37 TC 22.1.1 [locale] Leftover "global" reference Yes
137 TC 22.1.1 [locale] Do use_facet and has_facet look in the global locale? Yes
268 WP 22.1.1 [locale] Typo in locale synopsis Yes
360 WP 22.1.1 [locale] locale mandates inefficient implementation Yes
502 Open 22.1.1.1.1 [locale.category] Proposition: Clarification of the interaction between a facet and an iterator Yes
447 Dup 22.1.1.1.1 [locale.category] Wrong template argument for time facets Yes 327
121 NAD 22.1.1.1.1 [locale.category] Detailed definition for ctype<wchar_t> specialization Yes
21 TC 22.1.1.1.1 [locale.category] Codecvt_byname<> instantiations Yes
30 TC 22.1.1.1.1 [locale.category] Wrong header for LC_* Yes
327 WP 22.1.1.1.1 [locale.category] Typo in time_get facet in table 52 Yes 447
340 WP 22.1.1.1.1 [locale.category] interpretation of has_facet<Facet>(loc) Yes
347 WP 22.1.1.1.1 [locale.category] locale::category and bitmask requirements Yes
436 WP 22.1.1.1.2 [locale.facet] are cv-qualified facet types valid facets? Yes
452 NAD 22.1.1.3 [locale.members] locale::combine should be permitted to generate a named locale Yes
14 TC 22.1.1.3 [locale.members] Locale::combine should be const Yes
15 TC 22.1.1.3 [locale.members] Locale::name requirement inconsistent Yes
8 TC 22.1.1.5 [locale.statics] Locale::global lacks guarantee Yes
38 TC 22.1.2 [locale.global.templates] Facet definition incomplete Yes
391 WP 22.1.3.2 [conversions] non-member functions specified as const Yes
721 New 22.1.3.2.2 [conversions.string] wstring_convert inconsistensies No
503 Open 22.2 [locale.categories] more on locales No
585 Open 22.2 [locale.categories] facet error reporting Yes
439 NAD 22.2 [locale.categories] Should facets be copyable? Yes
228 WP 22.2 [locale.categories] Incorrect specification of "..._byname" facets Yes
338 WP 22.2 [locale.categories] is whitespace allowed between `-' and a digit? Yes
356 NAD 22.2.1 [category.ctype] Meaning of ctype_base::mask enumerators Yes
339 WP 22.2.1 [category.ctype] definition of bitmask type restricted to clause 27 Yes
473 Open 22.2.1.1 [locale.ctype] underspecified ctype calls No
417 Open 22.2.1.1.2 [locale.ctype.virtuals] what does ctype::do_widen() return on failure No
126 TC 22.2.1.1.2 [locale.ctype.virtuals] typos in Effects clause of ctype::do_narrow() Yes
152 TC 22.2.1.1.2 [locale.ctype.virtuals] Typo in scan_is() semantics Yes
379 WP 22.2.1.1.2 [locale.ctype.virtuals] nonsensical ctype::do_widen() requirement Yes
124 TC 22.2.1.2 [locale.ctype.byname] ctype_byname<charT>::do_scan_is & do_scan_not return type should be const charT* Yes
616 WP 22.2.1.2 [locale.ctype.byname] missing 'typename' in ctype_byname Yes
695 WP 22.2.1.3 [facet.ctype.special] ctype<char>::classic_table() not accessible Yes
207 Dup 22.2.1.3.2 [facet.ctype.char.members] ctype<char> members return clause incomplete Yes 153
236 Dup 22.2.1.3.2 [facet.ctype.char.members] ctype<char>::is() member modifies facet Yes 28
28 TC 22.2.1.3.2 [facet.ctype.char.members] Ctype<char>is ambiguous Yes 236
153 WP 22.2.1.3.2 [facet.ctype.char.members] Typo in narrow() semantics Yes 207
382 Open 22.2.1.4 [locale.codecvt] codecvt do_in/out result No
72 Dup 22.2.1.4 [locale.codecvt] Do_convert phantom member function Yes 24
138 NAD Future 22.2.1.4 [locale.codecvt] Class ctype_byname<char> redundant and misleading Yes
16 TC 22.2.1.4 [locale.codecvt] Bad ctype_byname<char> decl Yes
19 TC 22.2.1.4 [locale.codecvt] "Noconv" definition too vague Yes 10
24 TC 22.2.1.4 [locale.codecvt] "do_convert" doesn't exist Yes 72
33 TC 22.2.1.4 [locale.codecvt] Codecvt<> mentions from_type Yes 43
74 TC 22.2.1.4 [locale.codecvt] Garbled text for codecvt::do_max_length Yes
75 TC 22.2.1.4 [locale.codecvt] Contradiction in codecvt::length's argument types Yes
76 WP 22.2.1.4 [locale.codecvt] Can a codecvt facet always convert one internal character at a time? Yes
393 Pending NAD Editorial 22.2.1.4.2 [locale.codecvt.virtuals] do_in/do_out operation on state unclear Yes
664 WP 22.2.1.4.2 [locale.codecvt.virtuals] do_unshift for codecvt<char, char, mbstate_t> Yes
665 WP 22.2.1.4.2 [locale.codecvt.virtuals] do_unshift return value Yes
10 Dup 22.2.1.5 [locale.codecvt.byname] Codecvt<>::do unclear Yes 19
43 Dup 22.2.1.5 [locale.codecvt.byname] Locale table correction Yes 33
302 NAD 22.2.1.5 [locale.codecvt.byname] Need error indication from codecvt<>::do_length Yes
500 NAD 22.2.1.5 [locale.codecvt.byname] do_length cannot be implemented correctly Yes
305 WP 22.2.1.5 [locale.codecvt.byname] Default behavior of codecvt<wchar_t, char, mbstate_t>::length() Yes
380 WP 22.2.1.5 [locale.codecvt.byname] typos in codecvt tables 53 and 54 Yes
381 WP 22.2.1.5 [locale.codecvt.byname] detection of invalid mbstate_t in codecvt Yes
344 NAD 22.2.2 [category.numeric] grouping + showbase Yes
18 TC 22.2.2.1.1 [facet.num.get.members] Get(...bool&) omitted Yes
275 WP 22.2.2.1.1 [facet.num.get.members] Wrong type in num_get::get() overloads Yes
23 Open 22.2.2.1.2 [facet.num.get.virtuals] Num_get overflow result Yes
427 Open 22.2.2.1.2 [facet.num.get.virtuals] stage 2 and rationale of DR 221 No
459 Open 22.2.2.1.2 [facet.num.get.virtuals] Requirement for widening in stage 2 is overspecification Yes
662 NAD 22.2.2.1.2 [facet.num.get.virtuals] Inconsistent handling of incorrectly-placed thousands separators Yes
17 TC 22.2.2.1.2 [facet.num.get.virtuals] Bad bool parsing Yes
154 TC 22.2.2.1.2 [facet.num.get.virtuals] Missing double specifier for do_get() Yes
221 WP 22.2.2.1.2 [facet.num.get.virtuals] num_get<>::do_get stage 2 processing broken Yes
321 WP 22.2.2.1.2 [facet.num.get.virtuals] Typo in num_get Yes
358 WP 22.2.2.1.2 [facet.num.get.virtuals] interpreting thousands_sep after a decimal_point Yes
359 WP 22.2.2.2.1 [facet.num.put.members] num_put<>::do_put (..., bool) undocumented Yes
671 Open 22.2.2.2.2 [facet.num.put.virtuals] precision of hexfloat No
361 NAD 22.2.2.2.2 [facet.num.put.virtuals] num_get<>::do_get (..., void*&) checks grouping Yes
34 TC 22.2.2.2.2 [facet.num.put.virtuals] True/falsename() not in ctype<> Yes
231 WP 22.2.2.2.2 [facet.num.put.virtuals] Precision in iostream? Yes
282 WP 22.2.2.2.2 [facet.num.put.virtuals] What types does numpunct grouping refer to? Yes
20 TC 22.2.3.1.2 [facet.numpunct.virtuals] Thousands_sep returns wrong type Yes
318 WP 22.2.3.2 [locale.numpunct.byname] Misleading comment in definition of numpunct_byname Yes
248 WP 22.2.5 [category.time] time_get fails to set eofbit Yes
71 TC 22.2.5.1 [locale.time.get] Do_get_monthname synopsis missing argument Yes
461 WP 22.2.5.1.2 [locale.time.get.virtuals] time_get hard or impossible to implement Yes
164 TC 22.2.5.3.2 [locale.time.put.virtuals] do_put() has apparently unused fill argument Yes
667 Open 22.2.6.1.2 [locale.money.get.virtuals] money_get's widened minus sign No
668 Open 22.2.6.1.2 [locale.money.get.virtuals] money_get's empty minus sign No
669 Open 22.2.6.1.2 [locale.money.get.virtuals] Equivalent postive and negative signs in money_get No
328 WP 22.2.6.2.2 [locale.money.put.virtuals] Bad sprintf format modifier in money_put<>::do_put() Yes
670 Open 22.2.6.3 [locale.moneypunct] money_base::pattern and space No
374 NAD 22.2.6.3.1 [locale.moneypunct.members] moneypunct::frac_digits returns int not unsigned Yes
325 WP 22.2.6.3.2 [locale.moneypunct.virtuals] Misleading text in moneypunct<>::do_grouping Yes
666 WP 22.2.6.3.2 [locale.moneypunct.virtuals] moneypunct::do_curr_symbol() Yes
326 NAD 22.2.6.4 [locale.moneypunct.byname] Missing typedef in moneypunct_byname Yes
40 TC 22.2.8 [facets.examples] Meaningless normative paragraph in examples Yes
148 TC 22.2.8 [facets.examples] Functions in the example facet BoolNames should be const Yes
217 TC 22.2.8 [facets.examples] Facets example (Classifying Japanese characters) contains errors Yes

Section 23 (101 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
180 Open 23 [containers] Container member iterator arguments constness has unintended consequences Yes
492 Open 23 [containers] Invalid iterator arithmetic expressions Yes
767 Open 23 [containers] Forwarding and backward compatibility Yes
774 Open 23 [containers] Member swap undefined for most containers No
97 NAD 23 [containers] Insert inconsistent definition Yes
470 NAD 23 [containers] accessing containers from their elements' special functions Yes
632 Open 23.1 [container.requirements] Time complexity of size() for std::set No
675 Open 23.1 [container.requirements] Move assignment of containers Yes
704 Open 23.1 [container.requirements] MoveAssignable requirement for container value type overly strict No
760 Open 23.1 [container.requirements] The emplace issue Yes
759 Ready 23.1 [container.requirements] A reference is not an object Yes
766 Ready 23.1 [container.requirements] Inconsistent exception guarantees between ordered and unordered associative containers Yes
479 Dup 23.1 [container.requirements] Container requirements and placement new Yes 580
536 Dup 23.1 [container.requirements] Container iterator constructor and explicit convertibility Yes 589
279 NAD 23.1 [container.requirements] const and non-const iterators should have equivalent typedefs Yes
51 TC 23.1 [container.requirements] Requirement to not invalidate iterators missing Yes
179 WP 23.1 [container.requirements] Comparison of const_iterators to iterators doesn't work Yes
276 WP 23.1 [container.requirements] Assignable requirement for container value type overly strict Yes
322 WP 23.1 [container.requirements] iterator and const_iterator should have the same value type Yes
371 WP 23.1 [container.requirements] Stability of multiset and multimap member functions Yes
589 WP 23.1 [container.requirements] Requirements on iterators of member template functions of containers Yes 536
438 DR 23.1.1 [sequence.reqmts] Ambiguity in the "do the right thing" clause Yes
526 NAD 23.1.1 [sequence.reqmts] Is it undefined if a function in the standard changes in parameters? Yes
149 NAD Future 23.1.1 [sequence.reqmts] Insert should return iterator to first element inserted Yes
725 Pending NAD Editorial 23.1.1 [sequence.reqmts] Optional sequence container requirements column label Yes
139 TC 23.1.1 [sequence.reqmts] Optional sequence operation table description unclear Yes
151 TC 23.1.1 [sequence.reqmts] Can't currently clear() empty container Yes
355 WP 23.1.1 [sequence.reqmts] Operational semantics for a.back() Yes
130 DR 23.1.2 [associative.reqmts] Return type of container::erase(iterator) differs for associative containers Yes 451
102 Dup 23.1.2 [associative.reqmts] Bug in insert range in associative containers Yes 264
246 Dup 23.1.2 [associative.reqmts] a.insert(p,t) is incorrectly specified Yes 233
451 Dup 23.1.2 [associative.reqmts] Associative erase should return an iterator Yes 130
82 NAD 23.1.2 [associative.reqmts] Missing constant for set elements Yes
192 NAD 23.1.2 [associative.reqmts] a.insert(p,t) is inefficient and overconstrained Yes 233
215 NAD 23.1.2 [associative.reqmts] Can a map's key_type be const? Yes
494 NAD 23.1.2 [associative.reqmts] Wrong runtime complexity for associative container's insert and delete Yes
763 NAD 23.1.2 [associative.reqmts] Renaming emplace() overloads Yes
224 TC 23.1.2 [associative.reqmts] clear() complexity for associative containers refers to undefined N Yes
103 WP 23.1.2 [associative.reqmts] set::iterator is required to be modifiable, but this allows modification of keys Yes
233 WP 23.1.2 [associative.reqmts] Insertion hints in associative containers Yes 192, 246
264 WP 23.1.2 [associative.reqmts] Associative container insert(i, j) complexity requirements are not feasible. Yes 102
316 WP 23.1.2 [associative.reqmts] Vague text in Table 69 Yes
354 WP 23.1.2 [associative.reqmts] Associative container lower/upper bound requirements Yes
518 Ready 23.1.3 [unord.req] Are insert and erase stable for unordered_multiset and unordered_multimap? Yes
579 NAD 23.1.3 [unord.req] erase(iterator) for unordered containers should not return an iterator Yes
764 NAD 23.1.3 [unord.req] equal_range on unordered containers should return a pair of local_iterators Yes
679 WP 23.2 [sequences] resize parameter by value Yes
588 Open 23.2.1 [array] requirements on zero sized tr1::arrays and other details No
617 Open 23.2.1 [array] std::array is a sequence that doesn't satisfy the sequence requirements? No
720 Open 23.2.1 [array] Omissions in constexpr usages Yes
776 Review 23.2.1 [array] Undescribed assign function of std::array Yes
519 WP 23.2.1 [array] Data() undocumented Yes
144 TC 23.2.2.1 [deque.cons] Deque constructor complexity wrong Yes
237 WP 23.2.2.1 [deque.cons] Undefined expression in complexity specification Yes
638 Ready 23.2.2.3 [deque.modifiers] deque end invalidation during erase Yes
307 WP 23.2.3 [list] Lack of reference typedefs in container adaptors Yes
320 WP 23.2.3.1 [list.cons] list::assign overspecified Yes
410 WP 23.2.3.1 [list.cons] Missing semantics for stack and queue comparison operators Yes
132 TC 23.2.3.2 [list.capacity] list::resize description uses random access iterators Yes
131 NAD 23.2.3.4 [list.ops] list::splice throws nothing Yes
491 NAD 23.2.3.4 [list.ops] std::list<>::unique incorrectly specified Yes
250 WP 23.2.3.4 [list.ops] splicing invalidates iterators Yes
278 WP 23.2.3.4 [list.ops] What does iterator validity mean? Yes
300 WP 23.2.3.4 [list.ops] list::merge() specification incomplete Yes
315 WP 23.2.3.4 [list.ops] Bad "range" in list::unique complexity Yes
756 Open 23.2.4 [container.adaptors] Container adaptors push Yes
96 Open 23.2.5 [vector] Vector<bool> is not a container Yes
469 DR 23.2.5 [vector] vector<bool> ill-formed relational operators Yes
101 NAD 23.2.5 [vector] No way to free storage for vector and deque Yes
757 Pending NAD Editorial 23.2.5 [vector] Typo in the synopsis of vector Yes
69 TC 23.2.5 [vector] Must elements of a vector be contiguous? Yes
464 WP 23.2.5 [vector] Suggestion for new member functions in standard containers Yes
496 WP 23.2.5 [vector] Illegal use of "T" in vector<bool> Yes
134 TC 23.2.5.1 [vector.cons] vector constructors over specified Yes
755 Ready 23.2.5.2 [vector.capacity] std::vector and std:string lack explicit shrink-to-fit operations Yes
329 WP 23.2.5.2 [vector.capacity] vector capacity, reserve and reallocation Yes
341 WP 23.2.5.2 [vector.capacity] Vector reallocation and swap Yes
406 DR 23.2.5.4 [vector.modifiers] vector::insert(s) exception safety Yes
247 WP 23.2.5.4 [vector.modifiers] vector, deque::insert complexity Yes
414 WP 23.2.5.4 [vector.modifiers] Which iterators are invalidated by v.erase()? Yes
751 New 23.2.6 [vector.bool] change pass-by-reference members of vector<bool> to pass-by-value? No
140 NAD Editorial 23.3.1 [map] map<Key, T>::value_type does not satisfy the assignable requirement Yes
133 TC 23.3.1 [map] map missing get_allocator() Yes
334 WP 23.3.1.2 [map.access] map::operator[] specification forces inefficient implementation Yes
703 WP 23.3.1.2 [map.access] map::at() need a complexity specification Yes
450