C++ Standard Library Issues List (Revision R61)

Table of Contents

Reference ISO/IEC IS 14882:2003(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 (2 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
462 NAD 3.6.3 [basic.start.term] Destroying objects with static storage duration Yes
873 Open 3.9.1 [basic.fundamental] signed integral type and unsigned integral type are not clearly defined Yes

Section 17 (32 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
625 Open 17 [library] mixed up Effects and Returns clauses No
877 Open 17 [library] to throw() or to Throw: Nothing. Yes
182 CD1 17 [library] Ambiguous references to size_t Yes
230 CD1 17 [library] Assignable specified without also specifying CopyConstructible Yes
336 CD1 17 [library] Clause 17 lack of references to deprecated headers Yes
385 NAD 17 [library] Does call by value imply the CopyConstructible requirement? Yes
424 Open 17.5.2.2 [structure.summary] normative notes Yes
663 NAD 17.5.2.4 [structure.specifications] Complexity Requirements Yes
626 NAD Editorial 17.5.2.4 [structure.specifications] new Remark clauses not documented Yes
222 TC1 17.5.2.4 [structure.specifications] Are throw clauses necessary if a throw is already implied by the effects clause? Yes
262 CD1 17.5.3.2.3 [bitmask.types] Bitmask operator ~ specified incorrectly Yes
229 CD1 17.6.2.2 [contents] Unqualified references of other library entities Yes
310 CD1 17.6.2.3 [headers] Is errno a macro? Yes
456 CD1 17.6.2.3 [headers] Traditional C header files are overspecified Yes
465 CD1 17.6.2.3 [headers] Contents of <ciso646> Yes
833 Open 17.6.2.4 [compliance] Freestanding implementations header list needs review for C++0x No
657 NAD 17.6.3.2 [using.headers] unclear requirement about header inclusion Yes
1 TC1 17.6.3.3 [using.linkage] C library linkage editing oversight Yes
120 CD1 17.6.4.3 [reserved.names] Can an implementor add specializations? Yes
226 CD1 17.6.4.3 [reserved.names] User supplied specializations or overloads of namespace std function templates Yes
232 CD1 17.6.4.3 [reserved.names] "depends" poorly defined in 17.4.3.1 Yes
422 CD1 17.6.4.3 [reserved.names] explicit specializations of member functions of class templates Yes
294 CD1 17.6.4.3.2 [macro.names] User defined macros and standard headers Yes
404 CD1 17.6.4.6 [replacement.functions] May a replacement allocation function be declared inline? Yes
611 CD1 17.6.4.8 [res.on.functions] Standard library templates and incomplete types Yes
529 NAD Editorial 17.6.4.11 [res.on.required] The standard encourages redundant and confusing preconditions Yes
94 NAD 17.6.5 [conforming] May library implementors add template parameters to Standard Library classes? Yes
225 CD1 17.6.5.4 [global.functions] std:: algorithms use of other unqualified algorithms Yes
147 TC1 17.6.5.4 [global.functions] Library Intro refers to global functions that aren't global Yes
95 NAD 17.6.5.5 [member.functions] Members added by the implementation Yes
372 NAD 17.6.5.10 [res.on.exception.handling] Inconsistent description of stdlib exceptions Yes
119 TC1 17.6.5.10 [res.on.exception.handling] Should virtual functions be allowed to strengthen the exception specification? Yes

Section 18 (43 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
306 CD1 18.1 [support.types] offsetof macro and non-POD types Yes
449 CD1 18.1 [support.types] Library Issue 306 Goes Too Far Yes
902 New 18.2.1 [limits] Regular is the wrong concept to constrain numeric_limits No
201 CD1 18.2.1 [limits] Numeric limits terminology wrong Yes
559 CD1 18.2.1 [limits] numeric_limits<const T> Yes
497 CD1 18.2.1.2 [numeric.limits.members] meaning of numeric_limits::traps for floating point types Yes
612 CD1 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
184 CD1 18.2.1.5 [numeric.special] numeric_limits<bool> wording problems Yes
613 CD1 18.2.1.5 [numeric.special] max_digits10 missing from numeric_limits Yes
554 NAD 18.2.1.5 [numeric.special] Problem with lwg DR 184 numeric_limits<bool> Yes
416 CD1 18.2.2 [c.limits] definitions of XXX_MIN and XXX_MAX macros in climits Yes
593 CD1 18.3 [cstdint] __STDC_CONSTANT_MACROS Yes
557 NAD Editorial 18.3 [cstdint] TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t) Yes
553 NAD Editorial 18.3.1 [cstdint.syn] very minor editorial change intptr_t / uintptr_t Yes
841 NAD Editorial 18.3.1 [cstdint.syn] cstdint.syn inconsistent with C99 Yes
3 TC1 18.4 [support.start.term] Atexit registration during atexit() call is not described Yes
9 TC1 18.5.1 [new.delete] Operator new(0) calls should not yield the same pointer Yes
206 CD1 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 CD1 18.5.1.1 [new.delete.single] Storage allocation wording confuses "Required behavior", "Requires" Yes
627 NAD 18.5.1.1 [new.delete.single] Low memory and exceptions Yes
298 CD1 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 TC1 18.5.1.3 [new.delete.placement] Placement forms example in error twice Yes 196
471 Open 18.6.1 [type.info] result of what() implementation-defined Yes
108 TC1 18.6.1 [type.info] Lifetime of exception::what() return unspecified Yes
269 NAD 18.7 [support.exception] cstdarg and unnamed parameters Yes
70 TC1 18.7 [support.exception] Uncaught_exception() missing throw() specification Yes
266 CD1 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 CD1 18.7.5 [propagation] What is the lifetime of an exception pointed to by an exception_ptr? Yes
746 CD1 18.7.5 [propagation] current_exception may fail with bad_alloc Yes
820 CD1 18.7.5 [propagation] current_exception()'s interaction with throwing copy ctors Yes
829 CD1 18.7.5 [propagation] current_exception wording unclear about exception type 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
819 Open 18.7.6 [except.nested] rethrow_if_nested No
906 New 18.8 [support.initlist] ObjectType is the wrong concept to constrain initializer_list Yes
894 Ready 18.9 [support.runtime] longjmp and destructors Yes
619 CD1 18.9 [support.runtime] Longjmp wording problem Yes

Section 19 (9 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
254 CD1 19.1 [std.exceptions] Exception types in clause 19 are constructed from std::string Yes
288 CD1 19.3 [errno] <cerrno> requirements missing macro EILSEQ Yes
804 CD1 19.4 [syserr] Some problems with classes error_code/error_condition Yes
805 CD1 19.4 [syserr] posix_error::posix_errno concerns Yes
832 NAD 19.4 [syserr] Applying constexpr to System error support Yes
697 NAD Editorial 19.4 [syserr] New <system_error> header leads to name clashes Yes
890 Open 19.4.1 [syserr.errcat] Improving <system_error> initialization Yes
825 Open 19.4.2.2 [syserr.errcode.overview] Missing rvalues reference stream insert/extract operators? No
698 CD1 19.4.5.1 [syserr.syserr.overview] system_error needs const char* constructors Yes

Section 20 (142 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
312 CD1 20 [utilities] Table 27 is missing headers Yes
822 Review 20.1.1 [utility.arg.requirements] Object with explicit copy constructor no longer CopyConstructible Yes
753 Ready 20.1.1 [utility.arg.requirements] Move constructor in draft Yes
672 CD1 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 NAD Editorial 20.1.1 [utility.arg.requirements] Disadvantages of defining Swappable in terms of CopyConstructible and Assignable Yes
724 NAD Editorial 20.1.1 [utility.arg.requirements] DefaultConstructible is not defined Yes
742 NAD Editorial 20.1.1 [utility.arg.requirements] Enabling swap for proxy iterators 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
752 Ready 20.1.2 [allocator.requirements] Allocator complexity requirement Yes
258 CD1 20.1.2 [allocator.requirements] Missing allocator requirement Yes
274 CD1 20.1.2 [allocator.requirements] a missing/impossible allocator requirement Yes
401 CD1 20.1.2 [allocator.requirements] incorrect type casts in table 32 in lib.allocator.requirements Yes
402 CD1 20.1.2 [allocator.requirements] wrong new expression in [some_]allocator::construct 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 TC1 20.1.2 [allocator.requirements] What does allocate(0) return? Yes
910 New 20.2.8 [concept.copymove] Effects of MoveAssignable Yes
700 CD1 20.3.2 [forward] N1856 defines struct identity Yes
808 CD1 20.3.2 [forward] [forward] incorrect redundant specification Yes
823 CD1 20.3.2 [forward] identity<void> seems broken Yes
916 New 20.3.3 [pairs] Redundant move-assignment operator of pair should be removed Yes
885 Open 20.3.3 [pairs] pair assignment No
265 CD1 20.3.3 [pairs] std::pair::pair() effects overly restrictive Yes
706 CD1 20.3.3 [pairs] make_pair() should behave as make_tuple() wrt. reference_wrapper() Yes
348 Dup 20.3.3 [pairs] Minor issue with std::pair operator< Yes 532
296 NAD 20.3.3 [pairs] Missing descriptions and requirements of pair operators Yes
840 NAD 20.3.3 [pairs] pair default template argument Yes
353 NAD Editorial 20.3.3 [pairs] std::pair missing template assignment Yes
482 NAD Editorial 20.3.3 [pairs] Swapping pairs Yes
811 NAD Editorial 20.3.3 [pairs] pair of pointers no longer works with literal 0 Yes
181 TC1 20.3.3 [pairs] make_pair() unintended behavior Yes
853 Review 20.3.6 [template.bitset] to_string needs updating with zero and one Yes
693 CD1 20.3.6 [template.bitset] std::bitset::all() missing Yes
694 CD1 20.3.6 [template.bitset] std::bitset and long long Yes
116 Dup 20.3.6 [template.bitset] bitset cannot be constructed with a const char* Yes 778
11 TC1 20.3.6 [template.bitset] Bitset minor problems Yes
396 CD1 20.3.6.1 [bitset.cons] what are characters zero and one Yes
778 CD1 20.3.6.1 [bitset.cons] std::bitset does not have any constructor taking a string literal Yes 116
457 DR 20.3.6.1 [bitset.cons] bitset constructor: incorrect number of initialized bits Yes
907 New 20.3.6.2 [bitset.members] Bitset's immutable element retrieval is inconsistently defined Yes
186 CD1 20.3.6.2 [bitset.members] bitset::set() second parameter should be bool Yes
434 DR 20.3.6.2 [bitset.members] bitset::to_string() hard to use Yes
303 CD1 20.3.6.3 [bitset.operators] Bitset input operator underspecified Yes
921 New 20.4.1 [ratio.ratio] Rational Arithmetic should use template aliases Yes
801 Open 20.5 [tuple] tuple and pair trivial members No
522 CD1 20.5 [tuple] Tuple doesn't define swap Yes
917 New 20.5.2.2 [tuple.cnstr] Redundant move-assignment operator of tuple should be removed No
886 Open 20.5.2.2 [tuple.cnstr] tuple construction No
807 CD1 20.5.2.2 [tuple.cnstr] tuple construction should not fail unless its element's construction fails Yes
775 CD1 20.5.2.4 [tuple.helper] Tuple indexing should be unsigned? Yes
928 New 20.5.2.6 [tuple.rel] Wrong concepts used for tuple's comparison operators Yes
532 NAD Editorial 20.5.2.6 [tuple.rel] Tuple comparison Yes 348
918 New 20.5.2.7 [tuple.swap] Swap for tuple needs to be conceptualized Yes
719 Open 20.6 [meta] std::is_literal type traits should be provided Yes
590 NAD Editorial 20.6 [meta] Type traits implementation latitude should be removed for C++0x Yes
525 NAD Editorial 20.6.4 [meta.unary] type traits definitions not clear Yes
931 New 20.6.4.3 [meta.unary.prop] type trait extent<T, I> Yes
747 Open 20.6.4.3 [meta.unary.prop] We have 3 separate type traits to identify classes supporting no-throw operations No
749 CD1 20.6.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.6.4.3 [meta.unary.prop] The is_abstract type trait is defined by reference to 10.4. Yes
750 Open 20.6.5 [meta.rel] The current definition for is_convertible requires that the type be implicitly convertible, so explicit constructors are ignored. No
705 CD1 20.6.7 [meta.trans.other] type-trait decay incompletely specified Yes
856 CD1 20.6.7 [meta.trans.other] Removal of aligned_union Yes
849 NAD 20.6.7 [meta.trans.other] missing type traits to compute root class and derived class of types in a class hierachy Yes
185 CD1 20.7 [function.objects] Questionable use of term "inline" Yes
660 CD1 20.7 [function.objects] Missing Bitwise Operations Yes
351 NAD Editorial 20.7 [function.objects] unary_negate and binary_negate: struct or class? Yes
658 NAD Editorial 20.7 [function.objects] Two unspecified function comparators in [function.objects] Yes
257 NAD 20.7.3 [base] STL functional object and iterator inheritance. Yes
480 NAD 20.7.3 [base] unary_function and binary_function should have protected nonvirtual destructors Yes
501 NAD 20.7.3 [base] Proposal: strengthen guarantees of lib.comparisons Yes
904 New 20.7.4 [func.ret] result_of argument types Yes
521 CD1 20.7.5 [refwrap] Garbled requirements for argument_type in reference_wrapper Yes
688 Open 20.7.5.1 [refwrap.const] reference_wrapper, cref unsafe, allow binding to rvalues Yes
689 CD1 20.7.5.1 [refwrap.const] reference_wrapper constructor overly constrained Yes
284 CD1 20.7.8 [comparisons] unportable example in 20.3.7, p6 Yes
297 CD1 20.7.9 [logical.operations] const_mem_fun_t<>::argument_type should be const T* Yes
520 CD1 20.7.12.1 [func.bind] Result_of and pointers to data members Yes
816 Open 20.7.12.1.3 [func.bind.bind] Should bind()'s returned functor have a nofail copy ctor when bind() is nofail? No
817 Open 20.7.12.1.3 [func.bind.bind] bind needs to be moved No
527 CD1 20.7.12.1.3 [func.bind.bind] tr1::bind has lost its Throws clause Yes
922 New 20.7.12.1.4 [func.bind.place] [func.bind.place] Number of placeholders Yes
920 New 20.7.15 [func.memfn] Ref-qualification support in the library No
770 CD1 20.7.16 [func.wrap] std::function should use rvalue swap Yes
644 Open 20.7.16.2 [func.wrap.func] Possible typos in 'function' description Yes
769 CD1 20.7.16.2 [func.wrap.func] std::function should use nullptr_t instead of "unspecified-null-pointer-type" Yes
610 CD1 20.7.16.2.1 [func.wrap.func.con] Suggested non-normative note for C++0x Yes
815 Open 20.7.16.2.4 [func.wrap.func.inv] std::function and reference_closure do not use perfect forwarding No
633 NAD Editorial 20.7.16.2.5 [func.wrap.func.targ] Return clause mentions undefined "type()" Yes
848 CD1 20.7.17 [unord.hash] missing std::hash specializations for std::bitset/std::vector<bool> Yes
843 CD1 20.7.18.1 [func.referenceclosure.cons] Reference Closure Yes
927 New 20.8.2.2 [allocator.concepts] Dereferenceable should be HasDereference Yes
234 CD1 20.8.6.1 [allocator.members] Typos in allocator definition Yes
400 CD1 20.8.6.1 [allocator.members] redundant type cast in lib.allocator.members Yes
578 CD1 20.8.6.1 [allocator.members] purpose of hint to allocator::allocate() Yes
634 CD1 20.8.6.1 [allocator.members] allocator.address() doesn't work for types overloading operator& Yes 350
350 Dup 20.8.6.1 [allocator.members] allocator<>::address Yes 634
425 CD1 20.8.9 [temporary.buffer] return value of std::get_temporary_buffer Yes
866 Ready 20.8.11 [specialized.algorithms] Qualification of placement new-expressions Yes
582 Open 20.8.11.2 [uninitialized.copy] specialized algorithms and volatile storage Yes
754 NAD Editorial 20.8.11.2 [uninitialized.copy] Ambiguous return clause for std::uninitialized_copy Yes
673 CD1 20.8.12 [unique.ptr] unique_ptr update Yes
762 CD1 20.8.12 [unique.ptr] std::unique_ptr requires complete type? Yes
854 Review 20.8.12.1.1 [unique.ptr.dltr.dflt] default_delete converting constructor underspecified Yes
938 New 20.8.12.1.2 [unique.ptr.dltr.dflt1] default_delete<T[]>::operator() should only accept T* Yes
834 Open 20.8.12.2 [unique.ptr.single] Unique_ptr::pointer requirements underspecified Yes
932 New 20.8.12.2.1 [unique.ptr.single.ctor] unique_ptr(pointer p) for pointer deleter types Yes
686 NAD 20.8.12.2.4 [unique.ptr.single.observers] Unique_ptr and shared_ptr fail to specify non-convertibility to int for unspecified-bool-type Yes
933 New 20.8.12.2.5 [unique.ptr.single.modifiers] Unique_ptr defect No
806 CD1 20.8.12.2.5 [unique.ptr.single.modifiers] unique_ptr::reset effects incorrect, too permissive Yes
821 Ready 20.8.12.3.3 [unique.ptr.runtime.modifiers] Minor cleanup : unique_ptr Yes
896 Open 20.8.13.2 [util.smartptr.shared] Library thread safety issue Yes
758 Ready 20.8.13.2 [util.smartptr.shared] shared_ptr and nullptr Yes
541 CD1 20.8.13.2 [util.smartptr.shared] shared_ptr template assignment and void Yes
674 CD1 20.8.13.2 [util.smartptr.shared] shared_ptr interface changes for consistency with N1856 Yes
710 CD1 20.8.13.2 [util.smartptr.shared] Missing postconditions Yes
813 CD1 20.8.13.2 [util.smartptr.shared] "empty" undefined for shared_ptr Yes
925 New 20.8.13.2.1 [util.smartptr.shared.const] shared_ptr's explicit conversion from unique_ptr Yes
827 Open 20.8.13.2.1 [util.smartptr.shared.const] constexpr shared_ptr::shared_ptr()? No
881 Open 20.8.13.2.1 [util.smartptr.shared.const] shared_ptr conversion issue Yes
687 CD1 20.8.13.2.1 [util.smartptr.shared.const] shared_ptr conversion constructor not constrained Yes
899 New 20.8.13.2.2 [util.smartptr.shared.dest] Adjusting shared_ptr for nullptr_t Yes
575 CD1 20.8.13.2.2 [util.smartptr.shared.dest] the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptions Yes
884 Open 20.8.13.2.4 [util.smartptr.shared.mod] shared_ptr swap No
711 Open 20.8.13.2.5 [util.smartptr.shared.obs] Contradiction in empty shared_ptr Yes
540 CD1 20.8.13.2.5 [util.smartptr.shared.obs] shared_ptr<void>::operator*() Yes
542 CD1 20.8.13.2.5 [util.smartptr.shared.obs] shared_ptr observers Yes
743 CD1 20.8.13.2.9 [util.smartptr.shared.spec] rvalue swap for shared_ptr Yes
545 CD1 20.8.13.2.11 [util.smartptr.getdeleter] When is a deleter deleted? Yes
533 DR 20.8.13.2.11 [util.smartptr.getdeleter] typo in 2.2.3.10/1 Yes
741 NAD 20.8.13.2.11 [util.smartptr.getdeleter] Const-incorrect get_deleter function for shared_ptr Yes
858 CD1 20.8.13.7 [util.dynamic.safety] Wording for Minimal Support for Garbage Collection Yes
786 NAD Editorial 20.9 [time] Thread library timed waits, UTC and monotonic clocks Yes
934 New 20.9.3 [time.duration] duration is missing operator% Yes
882 CD1 20.9.3.5 [time.duration.nonmember] duration non-member arithmetic requirements Yes
935 New 20.9.5 [time.clock] clock error handling needs to be specified Yes

Section 21 (53 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 TC1 21 [strings] String clause minor problems Yes
830 Open 21.1 [char.traits] Incomplete list of char_traits specializations Yes
570 NAD 21.1 [char.traits] Request adding additional explicit specializations of char_traits Yes
335 CD1 21.1.1 [char.traits.require] minor issue with char_traits, table 37 Yes
352 CD1 21.1.2 [char.traits.typedefs] missing fpos requirements Yes
709 CD1 21.1.3 [char.traits.specializations] char_traits::not_eof has wrong signature Yes
831 NAD Editorial 21.1.3 [char.traits.specializations] wrong type for not_eof() Yes
467 CD1 21.1.3.1 [char.traits.specializations.char] char_traits::lt(), compare(), and memcmp() Yes
57 TC1 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
876 Open 21.3 [basic.string] basic_string access operations should give stronger guarantees Yes
180 CD1 21.3 [basic.string] Container member iterator arguments constness has unintended consequences Yes
263 CD1 21.3 [basic.string] Severe restriction on basic_string reference counting Yes
530 CD1 21.3 [basic.string] Must elements of a string be contiguous? Yes
534 CD1 21.3 [basic.string] Missing basic_string members Yes
4 NAD 21.3 [basic.string] Basic_string size_type and difference_type should be implementation defined Yes
42 TC1 21.3 [basic.string] String ctors specify wrong default allocator Yes
83 TC1 21.3 [basic.string] String::npos vs. string::max_size() Yes 89
209 TC1 21.3 [basic.string] basic_string declarations inconsistent Yes
847 Open 21.3.1 [string.require] string exception safety guarantees Yes
301 CD1 21.3.1 [string.require] basic_string template ctor effects clause omits allocator argument Yes
466 NAD 21.3.1 [string.require] basic_string ctor should prevent null pointer error Yes
86 TC1 21.3.1 [string.require] String constructors don't describe exceptions Yes
259 CD1 21.3.4 [string.capacity] basic_string::operator[] and const correctness Yes
104 NAD 21.3.4 [string.capacity] Description of basic_string::operator[] is unclear Yes
895 Open 21.3.5 [string.access] "Requires:" on std::string::at et al No
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 TC1 21.3.6.4 [string::insert] basic_string::find_last_of, find_last_not_of say pos instead of xpos Yes
428 CD1 21.3.6.5 [string::erase] string::erase(iterator) validity Yes
27 TC1 21.3.6.5 [string::erase] String::erase(range) yields wrong iterator Yes
368 NAD Editorial 21.3.6.6 [string::replace] basic_string::replace has two "Throws" paragraphs Yes
403 CD1 21.3.6.8 [string::swap] basic_string::swap should not throw exceptions Yes
535 CD1 21.3.6.8 [string::swap] std::string::swap specification poorly worded Yes
87 Dup 21.3.6.8 [string::swap] Error in description of string::compare() Yes 5
5 TC1 21.3.6.8 [string::swap] String::compare specification questionable Yes 87
91 CD1 21.3.8.9 [string.io] Description of operator>> and getline() for string<> might cause endless loop Yes
435 CD1 21.3.8.9 [string.io] bug in DR 25 Yes
586 CD1 21.3.8.9 [string.io] string inserter not a formatted function Yes
824 CD1 21.3.8.9 [string.io] rvalue ref issue with basic_string inserter Yes
67 Dup 21.3.8.9 [string.io] Setw useless for strings Yes 25
25 TC1 21.3.8.9 [string.io] String operator<< uses width() value wrong Yes 67
90 TC1 21.3.8.9 [string.io] Incorrect description of operator >> for strings Yes
211 TC1 21.3.8.9 [string.io] operator>>(istream&, string&) doesn't set failbit Yes
771 CD1 21.4 [string.conversions] Impossible throws clause in [string.conversions] Yes
772 CD1 21.4 [string.conversions] Impossible return clause in [string.conversions] Yes
345 CD1 21.5 [c.strings] type tm in <cwchar> Yes
615 NAD Editorial 21.5 [c.strings] Inconsistencies in Section 21.4 Yes

Section 22 (103 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 CD1 22 [localization] Instantiation vs. specialization of facets Yes
495 CD1 22 [localization] Clause 22 template parameter requirements Yes
268 CD1 22.1.1 [locale] Typo in locale synopsis Yes
360 CD1 22.1.1 [locale] locale mandates inefficient implementation 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 TC1 22.1.1 [locale] Immutable locale values Yes 378
37 TC1 22.1.1 [locale] Leftover "global" reference Yes
137 TC1 22.1.1 [locale] Do use_facet and has_facet look in the global locale? Yes
502 Open 22.1.1.1.1 [locale.category] Proposition: Clarification of the interaction between a facet and an iterator Yes
327 CD1 22.1.1.1.1 [locale.category] Typo in time_get facet in table 52 Yes 447
340 CD1 22.1.1.1.1 [locale.category] interpretation of has_facet<Facet>(loc) Yes
347 CD1 22.1.1.1.1 [locale.category] locale::category and bitmask requirements 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 TC1 22.1.1.1.1 [locale.category] Codecvt_byname<> instantiations Yes
30 TC1 22.1.1.1.1 [locale.category] Wrong header for LC_* Yes
436 CD1 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 TC1 22.1.1.3 [locale.members] Locale::combine should be const Yes
15 TC1 22.1.1.3 [locale.members] Locale::name requirement inconsistent Yes
8 TC1 22.1.1.5 [locale.statics] Locale::global lacks guarantee Yes
38 TC1 22.1.2 [locale.global.templates] Facet definition incomplete Yes
391 CD1 22.1.3.2 [conversions] non-member functions specified as const Yes
721 Open 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
228 CD1 22.2 [locale.categories] Incorrect specification of "..._byname" facets Yes
338 CD1 22.2 [locale.categories] is whitespace allowed between `-' and a digit? Yes
439 NAD 22.2 [locale.categories] Should facets be copyable? Yes
339 CD1 22.2.1 [category.ctype] definition of bitmask type restricted to clause 27 Yes
356 NAD 22.2.1 [category.ctype] Meaning of ctype_base::mask enumerators 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
379 CD1 22.2.1.1.2 [locale.ctype.virtuals] nonsensical ctype::do_widen() requirement Yes
126 TC1 22.2.1.1.2 [locale.ctype.virtuals] typos in Effects clause of ctype::do_narrow() Yes
152 TC1 22.2.1.1.2 [locale.ctype.virtuals] Typo in scan_is() semantics Yes
616 CD1 22.2.1.2 [locale.ctype.byname] missing 'typename' in ctype_byname Yes
124 TC1 22.2.1.2 [locale.ctype.byname] ctype_byname<charT>::do_scan_is & do_scan_not return type should be const charT* Yes
695 CD1 22.2.1.3 [facet.ctype.special] ctype<char>::classic_table() not accessible Yes
153 CD1 22.2.1.3.2 [facet.ctype.char.members] Typo in narrow() semantics Yes 207
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 TC1 22.2.1.3.2 [facet.ctype.char.members] Ctype<char>is ambiguous Yes 236
382 Open 22.2.1.4 [locale.codecvt] codecvt do_in/out result No
76 CD1 22.2.1.4 [locale.codecvt] Can a codecvt facet always convert one internal character at a time? Yes
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 TC1 22.2.1.4 [locale.codecvt] Bad ctype_byname<char> decl Yes
19 TC1 22.2.1.4 [locale.codecvt] "Noconv" definition too vague Yes 10
24 TC1 22.2.1.4 [locale.codecvt] "do_convert" doesn't exist Yes 72
33 TC1 22.2.1.4 [locale.codecvt] Codecvt<> mentions from_type Yes 43
74 TC1 22.2.1.4 [locale.codecvt] Garbled text for codecvt::do_max_length Yes
75 TC1 22.2.1.4 [locale.codecvt] Contradiction in codecvt::length's argument types Yes
664 CD1 22.2.1.4.2 [locale.codecvt.virtuals] do_unshift for codecvt<char, char, mbstate_t> Yes
665 CD1 22.2.1.4.2 [locale.codecvt.virtuals] do_unshift return value Yes
393 NAD Editorial 22.2.1.4.2 [locale.codecvt.virtuals] do_in/do_out operation on state unclear Yes
305 CD1 22.2.1.5 [locale.codecvt.byname] Default behavior of codecvt<wchar_t, char, mbstate_t>::length() Yes
380 CD1 22.2.1.5 [locale.codecvt.byname] typos in codecvt tables 53 and 54 Yes
381 CD1 22.2.1.5 [locale.codecvt.byname] detection of invalid mbstate_t in codecvt 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
344 NAD 22.2.2 [category.numeric] grouping + showbase Yes
275 CD1 22.2.2.1.1 [facet.num.get.members] Wrong type in num_get::get() overloads Yes
18 TC1 22.2.2.1.1 [facet.num.get.members] Get(...bool&) omitted 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
23 CD1 22.2.2.1.2 [facet.num.get.virtuals] Num_get overflow result Yes
221 CD1 22.2.2.1.2 [facet.num.get.virtuals] num_get<>::do_get stage 2 processing broken Yes
321 CD1 22.2.2.1.2 [facet.num.get.virtuals] Typo in num_get Yes
358 CD1 22.2.2.1.2 [facet.num.get.virtuals] interpreting thousands_sep after a decimal_point Yes
662 NAD 22.2.2.1.2 [facet.num.get.virtuals] Inconsistent handling of incorrectly-placed thousands separators Yes
17 TC1 22.2.2.1.2 [facet.num.get.virtuals] Bad bool parsing Yes
154 TC1 22.2.2.1.2 [facet.num.get.virtuals] Missing double specifier for do_get() Yes
826 NAD 22.2.2.2 [locale.nm.put] Equivalent of %'d, or rather, lack thereof? Yes
359 CD1 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
231 CD1 22.2.2.2.2 [facet.num.put.virtuals] Precision in iostream? Yes
282 CD1 22.2.2.2.2 [facet.num.put.virtuals] What types does numpunct grouping refer to? Yes
361 NAD 22.2.2.2.2 [facet.num.put.virtuals] num_get<>::do_get (..., void*&) checks grouping Yes
34 TC1 22.2.2.2.2 [facet.num.put.virtuals] True/falsename() not in ctype<> Yes
20 TC1 22.2.3.1.2 [facet.numpunct.virtuals] Thousands_sep returns wrong type Yes
318 CD1 22.2.3.2 [locale.numpunct.byname] Misleading comment in definition of numpunct_byname Yes
248 CD1 22.2.5 [category.time] time_get fails to set eofbit Yes
71 TC1 22.2.5.1 [locale.time.get] Do_get_monthname synopsis missing argument Yes
461 CD1 22.2.5.1.2 [locale.time.get.virtuals] time_get hard or impossible to implement Yes
164 TC1 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
836 Open 22.2.6.1.2 [locale.money.get.virtuals] effects of money_base::space and money_base::none on money_get Yes 670
328 CD1 22.2.6.2.2 [locale.money.put.virtuals] Bad sprintf format modifier in money_put<>::do_put() Yes
670 Dup 22.2.6.3 [locale.moneypunct] money_base::pattern and space Yes 836
374 NAD 22.2.6.3.1 [locale.moneypunct.members] moneypunct::frac_digits returns int not unsigned Yes
325 CD1 22.2.6.3.2 [locale.moneypunct.virtuals] Misleading text in moneypunct<>::do_grouping Yes
666 CD1 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 TC1 22.2.8 [facets.examples] Meaningless normative paragraph in examples Yes
148 TC1 22.2.8 [facets.examples] Functions in the example facet BoolNames should be const Yes
217 TC1 22.2.8 [facets.examples] Facets example (Classifying Japanese characters) contains errors Yes

Section 23 (108 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
492 Open 23 [containers] Invalid iterator arithmetic expressions Yes
774 Open 23 [containers] Member swap undefined for most containers Yes
868 Open 23 [containers] default construction and value-initialization Yes
883 Open 23 [containers] swap circular definition No
97 NAD 23 [containers] Insert inconsistent definition Yes
470 NAD 23 [containers] accessing containers from their elements' special functions Yes
767 NAD Editorial 23 [containers] Forwarding and backward compatibility Yes
632 Open 23.1 [container.requirements] Time complexity of size() for std::set No
760 Open 23.1 [container.requirements] The emplace issue Yes
861 Open 23.1 [container.requirements] Incomplete specification of EqualityComparable for std::forward_list Yes
179 CD1 23.1 [container.requirements] Comparison of const_iterators to iterators doesn't work Yes
276 CD1 23.1 [container.requirements] Assignable requirement for container value type overly strict Yes
322 CD1 23.1 [container.requirements] iterator and const_iterator should have the same value type Yes
371 CD1 23.1 [container.requirements] Stability of multiset and multimap member functions Yes
589 CD1 23.1 [container.requirements] Requirements on iterators of member template functions of containers Yes 536
675 CD1 23.1 [container.requirements] Move assignment of containers Yes
759 CD1 23.1 [container.requirements] A reference is not an object Yes
766 CD1 23.1 [container.requirements] Inconsistent exception guarantees between ordered and unordered associative containers Yes
842 CD1 23.1 [container.requirements] ConstructibleAsElement and bit 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
704 NAD Editorial 23.1 [container.requirements] MoveAssignable requirement for container value type overly strict Yes
51 TC1 23.1 [container.requirements] Requirement to not invalidate iterators missing Yes
355 CD1 23.1.3 [sequence.reqmts] Operational semantics for a.back() Yes
438 DR 23.1.3 [sequence.reqmts] Ambiguity in the "do the right thing" clause Yes
526 NAD 23.1.3 [sequence.reqmts] Is it undefined if a function in the standard changes in parameters? Yes
725 NAD Editorial 23.1.3 [sequence.reqmts] Optional sequence container requirements column label Yes
149 NAD Future 23.1.3 [sequence.reqmts] Insert should return iterator to first element inserted Yes
139 TC1 23.1.3 [sequence.reqmts] Optional sequence operation table description unclear Yes
151 TC1 23.1.3 [sequence.reqmts] Can't currently clear() empty container Yes
103 CD1 23.1.4 [associative.reqmts] set::iterator is required to be modifiable, but this allows modification of keys Yes
233 CD1 23.1.4 [associative.reqmts] Insertion hints in associative containers Yes 192, 246
264 CD1 23.1.4 [associative.reqmts] Associative container insert(i, j) complexity requirements are not feasible. Yes 102
316 CD1 23.1.4 [associative.reqmts] Vague text in Table 69 Yes
354 CD1 23.1.4 [associative.reqmts] Associative container lower/upper bound requirements Yes
130 DR 23.1.4 [associative.reqmts] Return type of container::erase(iterator) differs for associative containers Yes 451
102 Dup 23.1.4 [associative.reqmts] Bug in insert range in associative containers Yes 264
246 Dup 23.1.4 [associative.reqmts] a.insert(p,t) is incorrectly specified Yes 233
451 Dup 23.1.4 [associative.reqmts] Associative erase should return an iterator Yes 130
82 NAD 23.1.4 [associative.reqmts] Missing constant for set elements Yes
192 NAD 23.1.4 [associative.reqmts] a.insert(p,t) is inefficient and overconstrained Yes 233
215 NAD 23.1.4 [associative.reqmts] Can a map's key_type be const? Yes
494 NAD 23.1.4 [associative.reqmts] Wrong runtime complexity for associative container's insert and delete Yes
763 NAD 23.1.4 [associative.reqmts] Renaming emplace() overloads Yes
224 TC1 23.1.4 [associative.reqmts] clear() complexity for associative containers refers to undefined N Yes
869 Review 23.1.5 [unord.req] Bucket (local) iterators and iterating past end Yes
518 CD1 23.1.5 [unord.req] Are insert and erase stable for unordered_multiset and unordered_multimap? Yes
579 NAD 23.1.5 [unord.req] erase(iterator) for unordered containers should not return an iterator Yes
764 NAD 23.1.5 [unord.req] equal_range on unordered containers should return a pair of local_iterators Yes
870 NAD Editorial 23.1.5 [unord.req] Do unordered containers not support function pointers for predicate/hasher? Yes
679 CD1 23.2 [sequences] resize parameter by value Yes
930 New 23.2.1 [array] Access to std::array data as built-in array type 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
851 Open 23.2.1 [array] simplified array construction Yes
519 CD1 23.2.1 [array] Data() undocumented Yes
720 CD1 23.2.1 [array] Omissions in constexpr usages Yes
776 CD1 23.2.1 [array] Undescribed assign function of std::array Yes
237 CD1 23.2.2.1 [deque.cons] Undefined expression in complexity specification Yes
144 TC1 23.2.2.1 [deque.cons] Deque constructor complexity wrong Yes
850 CD1 23.2.2.2 [deque.capacity] Should shrink_to_fit apply to std::deque? Yes
855 NAD 23.2.2.2 [deque.capacity] capacity() and reserve() for deque? Yes
638 CD1 23.2.2.3 [deque.modifiers] deque end invalidation during erase Yes
878 Review 23.2.3 [forwardlist] forward_list preconditions Yes
897 New 23.2.3.4 [forwardlist.modifiers] Forward_list issues... Part 2 Yes
898 New 23.2.3.5 [forwardlist.ops] Small contradiction in n2723 to forward to committee No
919 New 23.2.3.5 [forwardlist.ops] (forward_)list specialized remove algorithms are over constrained Yes
892 Pending NAD Editorial 23.2.3.5 [forwardlist.ops] Forward_list issues... Yes
307 CD1 23.2.4 [list] Lack of reference typedefs in container adaptors Yes
320 CD1 23.2.4.1 [list.cons] list::assign overspecified Yes
410 CD1 23.2.4.1 [list.cons] Missing semantics for stack and queue comparison operators Yes
132 TC1 23.2.4.2 [list.capacity] list::resize description uses random access iterators Yes
250 CD1 23.2.4.4 [list.ops] splicing invalidates iterators Yes
278 CD1 23.2.4.4 [list.ops] What does iterator validity mean? Yes
300 CD1 23.2.4.4 [list.ops] list::merge() specification incomplete Yes
315 CD1 23.2.4.4 [list.ops] Bad "range" in list::unique complexity Yes
131 NAD 23.2.4.4 [list.ops] list::splice throws nothing Yes
491 NAD 23.2.4.4 [list.ops] std::list<>::unique incorrectly specified Yes
756 NAD Editorial 23.2.5 [container.adaptors] Container adaptors push Yes
96 Open 23.2.6 [vector] Vector<bool> is not a container Yes
464 CD1 23.2.6 [vector] Suggestion for new member functions in standard containers Yes
496 CD1 23.2.6 [vector] Illegal use of "T" in vector<bool> Yes
469 DR 23.2.6 [vector] vector<bool> ill-formed relational operators Yes
101 NAD 23.2.6 [vector] No way to free storage for vector and deque Yes
757 NAD Editorial 23.2.6 [vector] Typo in the synopsis of vector Yes
69 TC1 23.2.6 [vector] Must elements of a vector be contiguous? Yes
134 TC1 23.2.6.1 [vector.cons] vector constructors over specified Yes
329 CD1 23.2.6.2 [vector.capacity] vector capacity, reserve and reallocation Yes
341 CD1 23.2.6.2 [vector.capacity] Vector reallocation and swap Yes
755 CD1 23.2.6.2 [vector.capacity] std::vector and std:string lack explicit shrink-to-fit operations Yes
247 CD1 23.2.6.4 [vector.modifiers] vector, deque::insert complexity Yes
414 CD1 23.2.6.4 [vector.modifiers] Which iterators are invalidated by v.erase()? Yes
406 DR 23.2.6.4 [vector.modifiers] vector::insert(s) exception safety Yes
751 Open 23.2.7 [vector.bool] change pass-by-reference members of vector<bool> to pass-by-value? No
814 Open 23.2.7 [vector.bool] vector<bool>::swap(reference, reference) not defined No
839 Open 23.3 [associative] Maps and sets missing splice operation No
140 NAD Editorial 23.3.1 [map] map<Key, T>::value_type does not satisfy the assignable requirement Yes
133 TC1 23.3.1 [map] map missing get_allocator() Yes
334 CD1 23.3.1.2 [map.access] map::operator[] specification forces inefficient implementation Yes
703 CD1 23.3.1.2 [map.access] map::at() need a complexity specification Yes
214 CD1 23.3.3 [set] set::find() missing const overload Yes 450
450 Dup 23.3.3 [set] set::find is inconsistent with associative container requirements Yes 214
691 CD1 23.4 [unord] const_local_iterator cbegin, cend missing from TR1 Yes
852 CD1 23.4 [unord] unordered containers begin(n) mistakenly const Yes
528 NAD 23.4 [unord] const_iterator iterator issue when they are the same type Yes
676 NAD Editorial 23.4 [unord] Moving the unordered containers Yes
761 CD1 23.4.1.2 [unord.map.elem] unordered_map needs an at() member function Yes

Section 24 (46 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
408 Open 24.1 [iterator.concepts] Is vector<reverse_iterator<char*> > forbidden? No
446 Open 24.1 [iterator.concepts] Iterator equality between different containers No
765 Review 24.1 [iterator.concepts] more on iterator validity Yes
198 CD1 24.1 [iterator.concepts] Validity of pointers and references unspecified after iterator destruction Yes
346 CD1 24.1 [iterator.concepts] Some iterator member functions should be const Yes
407 CD1 24.1 [iterator.concepts] Can singular iterators be destroyed? Yes
304 NAD 24.1 [iterator.concepts] Must *a return an lvalue when a is an input iterator? Yes
208 TC1 24.1 [iterator.concepts] Unnecessary restriction on past-the-end iterators Yes
98 CD1 24.1.2 [input.iterators] Input iterator requirements are badly written Yes
392 NAD 24.1.2 [input.iterators] 'equivalence' for input iterators Yes
493 NAD 24.1.2 [input.iterators] Undefined Expression in Input Iterator Note Title Yes
484 NAD Editorial 24.1.2 [input.iterators] Convertible to T Yes
558 NAD Editorial 24.1.2 [input.iterators] lib.input.iterators Defect Yes
485 Open 24.1.3 [output.iterators] output iterator insufficently constrained No
324 CD1 24.1.3 [output.iterators] Do output iterators have value types? Yes
200 CD1 24.1.4 [forward.iterators] Forward iterator requirements don't allow constant iterators Yes
478 CD1 24.1.4 [forward.iterators] Should forward iterator requirements table have a line for r->m? Yes 477
477 Dup 24.1.4 [forward.iterators] Operator-> for const forward iterators Yes 478
476 NAD 24.1.4 [forward.iterators] Forward Iterator implied mutability Yes
383 CD1 24.1.5 [bidirectional.iterators] Bidirectional iterator assertion typo Yes
299 NAD Editorial 24.1.5 [bidirectional.iterators] Incorrect return types for iterator dereference Yes
458 Open 24.1.6 [random.access.iterators] 24.1.5 contains unintented limitation for operator- Yes
448 CD1 24.1.6 [random.access.iterators] Random Access Iterators over abstract classes Yes
204 NAD 24.3 [iterator.operations] distance(first, last) when "last" is before "first" Yes
280 CD1 24.4.1 [reverse.iterators] Comparison of reverse_iterator to const reverse_iterator Yes
235 CD1 24.4.1.1 [reverse.iterator] No specification of default ctor for reverse_iterator Yes
386 DR 24.4.1.3.11 [reverse.iter.op-=] Reverse iterator's operator[] has impossible return type Yes
99 NAD 24.4.1.3.13 [reverse.iter.op==] Reverse_iterator comparisons completely wrong Yes
685 CD1 24.4.1.3.19 [reverse.iter.opdiff] reverse_iterator/move_iterator difference has invalid signatures Yes
100 NAD 24.4.2 [insert.iterators] Insert iterators/ostream_iterators overconstrained Yes
903 New 24.4.2.1 [back.insert.iterator] back_insert_iterator issue No
901 New 24.4.2.5 [insert.iterator] insert iterators can move from lvalues No
561 CD1 24.4.2.6.5 [inserter] inserter overly generic Yes
680 CD1 24.4.3.1 [move.iterator] move_iterator operator-> return Yes
872 NAD Editorial 24.4.3.3.12 [move.iter.op.index] move_iterator::operator[] has wrong return type Yes
838 Open 24.5.1 [istream.iterator] can an end-of-stream iterator become a non-end-of-stream one? Yes
788 Ready 24.5.1 [istream.iterator] ambiguity in [istream.iterator] Yes
245 NAD 24.5.1 [istream.iterator] Which operations on istream_iterator trigger input operations? Yes
260 CD1 24.5.1.2 [istream.iterator.ops] Inconsistent return type of istream_iterator::operator++(int) Yes
261 CD1 24.5.1.2 [istream.iterator.ops] Missing description of istream_iterator::operator!= Yes
349 CD1 24.5.2 [ostream.iterator] Minor typographical error in ostream_iterator Yes
659 Open 24.5.3 [istreambuf.iterator] istreambuf_iterator should have an operator->() Yes
110 TC1 24.5.3 [istreambuf.iterator] istreambuf_iterator::equal not const Yes
39 TC1 24.5.3.4 [istreambuf.iterator::op++] istreambuf_iterator<>::operator++(int) definition garbled Yes
111 NAD Future 24.5.3.5 [istreambuf.iterator::equal] istreambuf_iterator::equal overspecified, inefficient Yes
112 TC1 24.5.4.1 [ostreambuf.iter.cons] Minor typo in ostreambuf_iterator constructor Yes

Section 25 (62 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
92 CD1 25 [algorithms] Incomplete Algorithm Requirements Yes
631 NAD Editorial 25 [algorithms] conflicting requirements for BinaryPredicate Yes
210 TC1 25 [algorithms] distance first and last confused Yes
483 Dup 25.1 [alg.nonmodifying] Heterogeneous equality and EqualityComparable Yes 283
290 Open 25.1.4 [alg.foreach] Requirements to for_each and its function object No
475 CD1 25.1.4 [alg.foreach] May the function object passed to for_each modify the elements of the iterated sequence? Yes
244 NAD 25.1.5 [alg.find] Must find's third argument be CopyConstructible? Yes
219 NAD Future 25.1.5 [alg.find] find algorithm missing version that takes a binary predicate argument Yes
576 CD1 25.1.7 [alg.find.first.of] find_first_of is overconstrained Yes
150 TC1 25.1.7 [alg.find.first.of] Find_first_of says integer instead of iterator Yes
240 CD1 25.1.8 [alg.adjacent.find] Complexity of adjacent_find() is meaningless Yes
426 CD1 25.1.12 [alg.search] search_n(), fill_n(), and generate_n() with negative n Yes
714 CD1 25.1.12 [alg.search] search_n complexity is too lax Yes
912 New 25.2.3 [alg.swap] Array swap needs to be conceptualized Yes
187 CD1 25.2.3 [alg.swap] iter_swap underspecified Yes
809 CD1 25.2.3 [alg.swap] std::swap should be overloaded for array types Yes
227 TC1 25.2.3 [alg.swap] std::swap() should require CopyConstructible or DefaultConstructible arguments Yes
242 CD1 25.2.4 [alg.transform] Side effects of function objects Yes
293 NAD 25.2.4 [alg.transform] Order of execution in transform algorithm Yes
913 New 25.2.5 [alg.replace] Superfluous requirements for replace algorithms Yes
283 CD1 25.2.5 [alg.replace] std::replace() requirement incorrect/insufficient Yes 483
337 CD1 25.2.5 [alg.replace] replace_copy_if's template parameter should be InputIterator Yes
865 New 25.2.6 [alg.fill] More algorithms that throw away information Yes
779 CD1 25.2.8 [alg.remove] Resolution of #283 incomplete Yes
367 NAD 25.2.8 [alg.remove] remove_copy/remove_copy_if and Input Iterators Yes
489 NAD 25.2.8 [alg.remove] std::remove / std::remove_if wrongly specified Yes
914 New 25.2.9 [alg.unique] Superfluous requirement for unique Yes
202 CD1 25.2.9 [alg.unique] unique() effects unclear when predicate not an equivalence relation Yes
239 CD1 25.2.9 [alg.unique] Complexity of unique() and/or unique_copy incorrect Yes
241 CD1 25.2.9 [alg.unique] Does unique_copy() require CopyConstructible and Assignable? Yes
538 CD1 25.2.9 [alg.unique] 241 again: Does unique_copy() require CopyConstructible and Assignable? Yes
481 NAD 25.2.9 [alg.unique] unique's effects on the range [result, last) Yes
490 NAD 25.2.9 [alg.unique] std::unique wrongly specified Yes
223 TC1 25.2.10 [alg.reverse] reverse algorithm should use iter_swap rather than swap Yes
488 CD1 25.2.11 [alg.rotate] rotate throws away useful information Yes
552 CD1 25.2.12 [alg.random.shuffle] random_shuffle and its generator Yes
498 Open 25.2.13 [alg.partitions] Requirements for partition() and stable_partition() too strong Yes
218 NAD 25.3 [alg.sorting] Algorithms do not use binary predicate objects for default comparisons Yes
556 NAD Editorial 25.3 [alg.sorting] is Compare a BinaryPredicate? Yes
812 NAD Editorial 25.3.1 [alg.sort] unsolicited multithreading considered harmful? Yes
713 CD1 25.3.1.1 [sort] sort() complexity is too lax Yes
499 NAD Editorial 25.3.1.2 [stable.sort] Std. doesn't seem to require stable_sort() to be stable! Yes
270 CD1 25.3.3 [alg.binary.search] Binary search requirements overly strict Yes 472
191 NAD 25.3.3 [alg.binary.search] Unclear complexity for algorithms such as binary search Yes
577 CD1 25.3.3.2 [upper.bound] upper_bound(first, last, ...) cannot return last Yes
384 CD1 25.3.3.3 [equal.range] equal_range has unimplementable runtime complexity Yes
472 Dup 25.3.3.3 [equal.range] Missing "Returns" clause in std::equal_range Yes 270
787 CD1 25.3.3.4 [binary.search] complexity of binary_search Yes
780 New 25.3.4 [alg.merge] std::merge() specification incorrect/insufficient Yes
291 CD1 25.3.5 [alg.set.operations] Underspecification of set algorithms Yes
411 CD1 25.3.5 [alg.set.operations] Wrong names of set member functions Yes
862 New 25.3.5.1 [includes] Impossible complexity for 'includes' No
193 TC1 25.3.6 [alg.heap.operations] Heap operations description incorrect Yes 216
915 New 25.3.7 [alg.min.max] minmax with initializer_list should return pair of T, not pair of const T& Yes
190 Open 25.3.7 [alg.min.max] min() and max() functions should be std::binary_functions No
281 CD1 25.3.7 [alg.min.max] std::min() and max() requirements overly restrictive Yes 486
715 CD1 25.3.7 [alg.min.max] minmax_element complexity is too lax Yes
486 Dup 25.3.7 [alg.min.max] min/max CopyConstructible requirement is too strict Yes 281
212 TC1 25.3.7 [alg.min.max] Empty range behavior unclear for several algorithms Yes
142 TC1 25.3.8 [alg.lex.comparison] lexicographical_compare complexity wrong Yes
286 CD1 25.4 [alg.c.library] <cstdlib> requirements missing size_t typedef Yes
405 CD1 25.4 [alg.c.library] qsort and POD Yes

Section 26 (102 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
860 Open 26 [numerics] Floating-Point State No
387 CD1 26.3 [complex.numbers] std::complex over-encapsulated Yes
388 NAD 26.3 [complex.numbers] Use of complex as a key in associative containers Yes
79 TC1 26.3.1 [complex.synopsis] Inconsistent declaration of polar() Yes
80 TC1 26.3.1 [complex.synopsis] Global Operators of complex declared twice Yes
629 CD1 26.3.6 [complex.ops] complex insertion and locale dependence Yes
177 NAD 26.3.6 [complex.ops] Complex operators cannot be explicitly instantiated Yes
146 TC1 26.3.6 [complex.ops] complex<T> Inserter and Extractor need sentries Yes
595 CD1 26.3.7 [complex.value.ops] TR1/C++0x: fabs(complex<T>) redundant / wrongly specified Yes
781 CD1 26.3.7 [complex.value.ops] std::complex should add missing C99 functions Yes
440 NAD 26.3.8 [complex.transcendentals] Should std::complex use unqualified transcendentals? Yes
844 CD1 26.3.9 [cmplx.over] complex pow return type is ambiguous Yes
551 CD1 26.3.11 [cmplxh] <ccomplex> Yes
507 CD1 26.4 [rand] Missing requirement for variate_generator::operator() Yes
699 CD1 26.4 [rand] N2111 changes min/max Yes
506 NAD 26.4 [rand] Requirements of Distribution parameter for variate_generator Yes
547 NAD 26.4 [rand] division should be floating-point, not integer Yes
572 NAD 26.4 [rand] Oops, we gave 507 WP status Yes
505 CD1 26.4.1 [rand.req] Result_type in random distribution requirements Yes
517 NAD 26.4.1 [rand.req] Should include name in external representation Yes
504 NAD Editorial 26.4.1 [rand.req] Integer types in pseudo-random number engine requirements Yes
654 CD1 26.4.1.3 [rand.req.eng] Missing IO roundtrip for random number engines Yes
678 CD1 26.4.1.3 [rand.req.eng] Changes for [rand.req.eng] Yes
729 NAD 26.4.1.3 [rand.req.eng] Problem in [rand.req.eng]/3 Yes
730 NAD 26.4.1.4 [rand.req.adapt] Comment on [rand.req.adapt]/3 e) Yes
733 NAD 26.4.1.5 [rand.req.dist] Comment on [rand.req.dist]/9 Yes
515 NAD 26.4.2 [rand.synopsis] Random number engine traits Yes
656 NAD Editorial 26.4.2 [rand.synopsis] Typo in subtract_with_carry_engine declaration Yes
512 NAD Editorial 26.4.3 [rand.eng] Seeding subtract_with_carry_01 from a single unsigned long Yes
513 NAD Editorial 26.4.3 [rand.eng] Size of state for subtract_with_carry_01 Yes
516 NAD Editorial 26.4.3 [rand.eng] Seeding subtract_with_carry_01 using a generator Yes
728 CD1 26.4.3.2 [rand.eng.mers] Problem in [rand.eng.mers]/6 Yes
799 NAD 26.4.3.2 [rand.eng.mers] [tr.rand.eng.mers] and [rand.eng.mers] Yes
514 NAD Editorial 26.4.3.3 [rand.eng.sub] Size of state for subtract_with_carry Yes
738 NAD Editorial 26.4.4.1 [rand.adapt.disc] Editorial issue in [rand.adapt.disc]/3 Yes
609 CD1 26.4.4.2 [rand.adapt.ibits] missing static const Yes
508 CD1 26.4.5 [rand.predef] Bad parameters for ranlux64_base_01 Yes
796 NAD 26.4.5 [rand.predef] ranlux48_base returns wrong value Yes
797 NAD 26.4.5 [rand.predef] ranlux48 returns wrong value Yes
802 NAD 26.4.5 [rand.predef] knuth_b returns wrong value Yes
548 NAD 26.4.6 [rand.device] May random_device block? Yes
800 Open 26.4.7.1 [rand.util.seedseq] Issues in 26.4.7.1 [rand.util.seedseq](6) Yes
803 Ready 26.4.7.1 [rand.util.seedseq] Simplification of seed_seq::seq_seq Yes
607 CD1 26.4.7.1 [rand.util.seedseq] Concern about short seed vectors Yes
608 CD1 26.4.7.1 [rand.util.seedseq] Unclear seed_seq construction details Yes
677 CD1 26.4.7.1 [rand.util.seedseq] Weaknesses in seed_seq::randomize [rand.util.seedseq] Yes
712 CD1 26.4.7.1 [rand.util.seedseq] seed_seq::size no longer useful Yes
782 CD1 26.4.7.1 [rand.util.seedseq] Extended seed_seq constructor is useless Yes
731 NAD 26.4.7.1 [rand.util.seedseq] proposal for a customizable seed_seq Yes
655 CD1 26.4.7.2 [rand.util.canonical] Signature of generate_canonical not useful Yes
739 NAD 26.4.7.2 [rand.util.canonical] Defect in [rand.util.canonical]/3 Yes
511 NAD 26.4.8 [rand.dist] Input_type for binomial_distribution Yes
549 NAD Editorial 26.4.8 [rand.dist] Undefined variable in binomial_distribution Yes
509 NAD 26.4.8.1 [rand.dist.uni] Uniform_int template parameters Yes
773 NAD 26.4.8.1 [rand.dist.uni] issues with random Yes
510 NAD 26.4.8.2 [rand.dist.bern] Input_type for bernoulli_distribution Yes
735 NAD 26.4.8.2.2 [rand.dist.bern.bin] Unfortunate naming Yes
734 CD1 26.4.8.4.3 [rand.dist.norm.chisq] Unnecessary restriction in [rand.dist.norm.chisq] Yes
874 New 26.4.8.5.1 [rand.dist.samp.discrete] Missing initializer_list constructor for discrete_distribution Yes
793 Open 26.4.8.5.1 [rand.dist.samp.discrete] discrete_distribution missing constructor Yes
736 NAD 26.4.8.5.1 [rand.dist.samp.discrete] Comment on [rand.dist.samp.discrete] Yes
875 New 26.4.8.5.2 [rand.dist.samp.pconst] Missing initializer_list constructor for piecewise_constant_distribution Yes
794 Open 26.4.8.5.2 [rand.dist.samp.pconst] piecewise_constant_distribution missing constructor Yes
792 CD1 26.4.8.5.2 [rand.dist.samp.pconst] piecewise_constant_distribution is undefined for a range with just one endpoint Yes
737 NAD 26.4.8.5.2 [rand.dist.samp.pconst] Comment on [rand.dist.samp.pconst] Yes
791 NAD 26.4.8.5.2 [rand.dist.samp.pconst] piecewise_constant_distribution::densities has wrong name Yes
732 Open 26.4.8.5.3 [rand.dist.samp.genpdf] Defect in [rand.dist.samp.genpdf] Yes 795
795 Dup 26.4.8.5.3 [rand.dist.samp.genpdf] general_pdf_distribution should be dropped Yes 732
621 CD1 26.5 [numarray] non-const copy assignment operators of helper arrays Yes
93 NAD 26.5 [numarray] Incomplete Valarray Subset Definitions Yes
107 NAD 26.5.2 [template.valarray] Valarray constructor is strange Yes
125 TC1 26.5.2 [template.valarray] valarray<T>::operator!() return type is inconsistent Yes
867 New 26.5.2.1 [valarray.cons] Valarray and value-initialization Yes
630 Open 26.5.2.1 [valarray.cons] arrays of valarray Yes
253 CD1 26.5.2.1 [valarray.cons] valarray helper functions are almost entirely useless Yes
620 CD1 26.5.2.1 [valarray.cons] valid uses of empty valarrays Yes
624 CD1 26.5.2.2 [valarray.assign] valarray assignment and arrays of unequal length Yes
389 CD1 26.5.2.3 [valarray.access] Const overload of valarray::operator[] returns by value Yes 77
77 Dup 26.5.2.3 [valarray.access] Valarray operator[] const returning value Yes 389
636 NAD Editorial 26.5.2.3 [valarray.access] 26.5.2.3 valarray::operator[] Yes
717 NAD Editorial 26.5.2.3 [valarray.access] Incomplete valarray::operator[] specification in [valarray.access] Yes
430 Open 26.5.2.4 [valarray.sub] valarray subset operations Yes
188 NAD 26.5.2.6 [valarray.cassign] valarray helpers missing augmented assignment operators Yes
618 CD1 26.5.2.7 [valarray.members] valarray::cshift() effects on empty array Yes
543 CD1 26.5.4 [class.slice] valarray slice default constructor Yes
81 NAD 26.5.5 [template.slice.array] Wrong declaration of slice operations Yes
106 TC1 26.5.5 [template.slice.array] Numeric library private members are implementation defined Yes
123 CD1 26.5.5.3 [slice.arr.fill] Should valarray helper arrays fill functions be const? Yes
539 Open 26.6.3 [partial.sum] partial_sum and adjacent_difference should mention requirements Yes
871 NAD 26.6.5 [numeric.iota] Iota's requirements on T are too strong Yes
295 CD1 26.7 [c.math] Is abs defined in <cmath>? Yes
395 CD1 26.7 [c.math] inconsistencies in the definitions of rand() and random_shuffle() Yes
550 CD1 26.7 [c.math] What should the return type of pow(float,int) be? Yes
722 CD1 26.7 [c.math] Missing [c.math] functions nanf and nanl Yes
213 NAD 26.7 [c.math] Math function overloads ambiguous Yes
289 NAD 26.7 [c.math] <cmath> requirements missing C float and long double versions Yes
323 NAD 26.7 [c.math] abs() overloads in different headers Yes
583 NAD 26.7 [c.math] div() for unsigned integral types Yes
584 NAD 26.7 [c.math] missing int pow(int,int) functionality Yes
357 NAD Editorial 26.7 [c.math] <cmath> float functions cannot return HUGE_VAL Yes
637 NAD Editorial 26.7 [c.math] [c.math]/10 inconsistent return values Yes
690 NAD Editorial 26.7 [c.math] abs(long long) should return long long Yes

Section 27 (150 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
423 Open 27 [input.output] effects of negative streamsize in iostreams Yes
44 CD1 27 [input.output] Iostreams use operator== on int_type values Yes
273 CD1 27 [input.output] Missing ios_base qualification on members of a dependent class Yes
308 CD1 27 [input.output] Table 82 mentions unrelated headers Yes
365 CD1 27 [input.output] Lack of const-qualification in clause 27 Yes
366 NAD 27 [input.output] Excessive const-qualification Yes
55 TC1 27 [input.output] Invalid stream position is undefined Yes
623 CD1 27.1.1 [iostream.limits.imbue] pubimbue forbidden to call imbue Yes
369 CD1 27.3 [iostream.objects] io stream objects and static ctors Yes
574 CD1 27.3 [iostream.objects] DR 369 Contradicts Text Yes
455 DR 27.3 [iostream.objects] cerr::tie() and wcerr::tie() are overspecified Yes
155 TC1 27.3 [iostream.objects] Typo in naming the class defining the class Init Yes
178 NAD 27.3.1 [narrow.stream.objects] Should clog and cerr initially be tied to cout? Yes
29 TC1 27.3.1 [narrow.stream.objects] Ios_base::init doesn't exist Yes
35 TC1 27.4 [iostreams.base] No manipulator unitbuf in synopsis Yes
41 TC1 27.4.2 [ios.base] Ios_base needs clear(), exceptions() Yes 157
50 TC1 27.4.2 [ios.base] Copy constructor and assignment operator of ios_base Yes
78 TC1 27.4.2 [ios.base] Typo: event_call_back Yes
331 CD1 27.4.2.1.1 [ios::failure] bad declaration of destructor for ios_base::failure Yes
363 CD1 27.4.2.1.1 [ios::failure] Missing exception specification in 27.4.2.1.1 Yes
48 TC1 27.4.2.1.1 [ios::failure] Use of non-existent exception constructor Yes
418 Open 27.4.2.1.6 [ios::Init] exceptions thrown during iostream cleanup No
287 NAD 27.4.2.2 [fmtflags.state] conflicting ios_base fmtflags Yes
189 TC1 27.4.2.2 [fmtflags.state] setprecision() not specified correctly Yes
47 TC1 27.4.2.3 [ios.base.locales] Imbue() and getloc() Returns clauses swapped Yes
156 TC1 27.4.2.3 [ios.base.locales] Typo in imbue() description Yes
49 CD1 27.4.2.4 [ios.members.static] Underspecification of ios_base::sync_with_stdio Yes
157 Dup 27.4.2.5 [ios.base.storage] Meaningless error handling for pword() and iword() Yes 41
36 TC1 27.4.2.5 [ios.base.storage] Iword & pword storage lifetime omitted Yes
220 TC1 27.4.2.7 [ios.base.cons] ~ios_base() usage valid? Yes
573 Open 27.4.3 [fpos] C++0x file positioning should handle modern file sizes No
441 CD1 27.4.3 [fpos] Is fpos::state const? Yes
6 NAD 27.4.3 [fpos] File position not an offset unimplementable Yes
332 NAD 27.4.3 [fpos] Consider adding increment and decrement operators to std::fpos< T > Yes
52 TC1 27.4.3.2 [fpos.operations] Small I/O problems Yes
194 NAD 27.4.4 [ios] rdbuf() functions poorly specified Yes
145 NAD 27.4.4.1 [basic.ios.cons] adjustfield lacks default value Yes
53 TC1 27.4.4.1 [basic.ios.cons] Basic_ios destructor unspecified Yes
835 New 27.4.4.2 [basic.ios.members] tying two streams together (correction to DR 581) Yes
837 New 27.4.4.2 [basic.ios.members] basic_ios::copyfmt() overly loosely specified Yes
256 CD1 27.4.4.2 [basic.ios.members] typo in 27.4.4.2, p17: copy_event does not exist Yes
292 CD1 27.4.4.2 [basic.ios.members] effects of a.copyfmt (a) Yes
272 CD1 27.4.4.3 [iostate.flags] Missing parentheses around subexpression Yes 569
412 CD1 27.4.4.3 [iostate.flags] Typo in 27.4.4.3 Yes 429
468 CD1 27.4.4.3 [iostate.flags] unexpected consequences of ios_base::operator void*() Yes
429 Dup 27.4.4.3 [iostate.flags] typo in basic_ios::clear(iostate) Yes 412
569 Dup 27.4.4.3 [iostate.flags] Postcondition for basic_ios::clear(iostate) incorrectly stated Yes 272
255 Open 27.5.2 [streambuf] Why do basic_streambuf<>::pbump() and gbump() take an int? Yes
56 TC1 27.5.2 [streambuf] Showmanyc's return type Yes
122 TC1 27.5.2 [streambuf] streambuf/wstreambuf description should not say they are specializations Yes
421 Open 27.5.2.1 [streambuf.cons] is basic_streambuf copy-constructible? Yes
54 TC1 27.5.2.1 [streambuf.cons] Basic_streambuf's destructor Yes
59 TC1 27.5.2.3.2 [streambuf.get.area] Ambiguity in specification of gbump Yes
364 CD1 27.5.2.4.2 [streambuf.virt.buffer] Inconsistent wording in 27.5.2.4.2 Yes
158 TC1 27.5.2.4.2 [streambuf.virt.buffer] Underspecified semantics for setbuf() Yes
159 TC1 27.5.2.4.3 [streambuf.virt.get] Strange use of underflow() Yes
32 TC1 27.5.2.4.4 [streambuf.virt.pback] Pbackfail description inconsistent Yes
565 Open 27.5.2.4.5 [streambuf.virt.put] xsputn inefficient Yes
309 Open 27.6 [iostream.format] Does sentry catch exceptions? No
567 CD1 27.6 [iostream.format] streambuf inserter and extractor should be unformatted Yes
911 New 27.6.1 [input.streams] I/O streams and move/swap semantic Yes
113 NAD 27.6.1.1 [istream] Missing/extra iostream sync semantics Yes
160 TC1 27.6.1.1 [istream] Typo: Use of non-existing function exception() Yes
419 Open 27.6.1.1.3 [istream::sentry] istream extractors not setting failbit if eofbit is already set Yes
203 NAD 27.6.1.1.3 [istream::sentry] basic_istream::sentry::sentry() is uninstantiable with ctype<user-defined type> Yes
26 TC1 27.6.1.1.3 [istream::sentry] Bad sentry example Yes
195 TC1 27.6.1.1.3 [istream::sentry] Should basic_istream::sentry's constructor ever set eofbit? Yes
373 CD1 27.6.1.2.1 [istream.formatted.reqmts] Are basic_istream and basic_ostream to use (exceptions()&badbit) != 0 ? Yes
60 TC1 27.6.1.2.1 [istream.formatted.reqmts] What is a formatted input function? Yes 162, 163, 166
696 New 27.6.1.2.2 [istream.formatted.arithmetic] istream::operator>>(int&) broken No
118 CD1 27.6.1.2.2 [istream.formatted.arithmetic] basic_istream uses nonexistent num_get member functions Yes
661 CD1 27.6.1.2.2 [istream.formatted.arithmetic] New 27.6.1.2.2 changes make special extractions useless Yes
161 TC1 27.6.1.2.2 [istream.formatted.arithmetic] Typo: istream_iterator vs. istreambuf_iterator Yes
413 DR 27.6.1.2.3 [istream::extractors] Proposed resolution to LDR#64 still wrong Yes
162 Dup 27.6.1.2.3 [istream::extractors] Really "formatted input functions"? Yes 60
58 NAD 27.6.1.2.3 [istream::extractors] Extracting a char from a wide-oriented stream Yes
639 NAD 27.6.1.2.3 [istream::extractors] Still problems with exceptions during streambuf IO Yes
13 TC1 27.6.1.2.3 [istream::extractors] Eos refuses to die Yes
64 TC1 27.6.1.2.3 [istream::extractors] Exception handling in basic_istream::operator>>(basic_streambuf*) Yes
68 TC1 27.6.1.2.3 [istream::extractors] Extractors for char* should store null at end Yes
342 Open 27.6.1.3 [istream.unformatted] seek and eofbit Yes
136 CD1 27.6.1.3 [istream.unformatted] seekp, seekg setting wrong streams? Yes
243 CD1 27.6.1.3 [istream.unformatted] get and getline when sentry reports failure Yes
370 CD1 27.6.1.3 [istream.unformatted] Minor error in basic_istream::get Yes
531 CD1 27.6.1.3 [istream.unformatted] array forms of unformatted input functions Yes
537 CD1 27.6.1.3 [istream.unformatted] Typos in the signatures in 27.6.1.3/42-43 and 27.6.2.4 Yes
566 CD1 27.6.1.3 [istream.unformatted] array forms of unformatted input function undefined for zero-element arrays Yes
163 Dup 27.6.1.3 [istream.unformatted] Return of gcount() after a call to gcount Yes 60
399 NAD 27.6.1.3 [istream.unformatted] volations of unformatted input function requirements Yes
61 TC1 27.6.1.3 [istream.unformatted] Ambiguity in iostreams exception policy Yes
62 TC1 27.6.1.3 [istream.unformatted] Sync's return value Yes
129 TC1 27.6.1.3 [istream.unformatted] Need error indication from seekp() and seekg() Yes
172 TC1 27.6.1.3 [istream.unformatted] Inconsistent types for basic_istream::ignore() Yes
415 CD1 27.6.1.4 [istream.manip] behavior of std::ws Yes
271 CD1 27.6.1.5 [iostreamclass] basic_iostream missing typedefs Yes
135 NAD 27.6.1.5.1 [iostream.cons] basic_iostream doubly initialized Yes
165 CD1 27.6.2.1 [ostream] xsputn(), pubsync() never called by basic_ostream members? Yes
311 CD1 27.6.2.1 [ostream] Incorrect wording in basic_ostream class synopsis Yes
397 Open 27.6.2.4 [ostream::sentry] ostream::sentry dtor throws exceptions No
398 Open 27.6.2.4 [ostream::sentry] effects of end-of-file on unformatted input functions No
442 CD1 27.6.2.4 [ostream::sentry] sentry::operator bool() inconsistent signature Yes
394 Open 27.6.2.6.1 [ostream.formatted.reqmts] behavior of formatted output on failure No
117 CD1 27.6.2.6.2 [ostream.inserters.arithmetic] basic_ostream uses nonexistent num_put member functions Yes
640 CD1 27.6.2.6.2 [ostream.inserters.arithmetic] 27.6.2.5.2 does not handle (unsigned) long long Yes
437 NAD 27.6.2.6.2 [ostream.inserters.arithmetic] Formatted output of function pointers is confusing Yes
166 Dup 27.6.2.6.3 [ostream.inserters] Really "formatted output functions"? Yes 60
167 CD1 27.6.2.6.4 [ostream.inserters.character] Improper use of traits_type::length() Yes
474 CD1 27.6.2.6.4 [ostream.inserters.character] confusing Footnote 297 Yes
581 CD1 27.6.2.7 [ostream.unformatted] flush() not unformatted function Yes
63 TC1 27.6.2.7 [ostream.unformatted] Exception-handling policy for unformatted output Yes
168 TC1 27.6.2.7 [ostream.unformatted] Typo: formatted vs. unformatted Yes
333 CD1 27.6.2.8 [ostream.manip] does endl imply synchronization with the device? Yes
183 CD1 27.6.3 [std.manip] I/O stream manipulators don't work for wide character streams Yes
216 Dup 27.6.3 [std.manip] setbase manipulator description flawed Yes 193
810 New 27.6.4 [ext.manip] Missing traits dependencies in operational semantics of extended manipulators Yes
692 CD1 27.6.4 [ext.manip] get_money and put_money should be formatted I/O functions Yes
641 NAD Editorial 27.6.4 [ext.manip] Editorial fix for 27.6.4 (N2134) Yes
128 Open 27.7 [string.streams] Need open_mode() function for file stream, string streams, file buffers, and string  buffers Yes
252 CD1 27.7 [string.streams] missing casts/C-style casts used in iostreams Yes
562 CD1 27.7 [string.streams] stringbuf ctor inefficient Yes
251 CD1 27.7.1 [stringbuf] basic_stringbuf missing allocator_type Yes
238 CD1 27.7.1.1 [stringbuf.cons] Contradictory results of stringbuf initialization. Yes
564 Open 27.7.1.4 [stringbuf.virtuals] stringbuf seekpos underspecified Yes
375 CD1 27.7.1.4 [stringbuf.virtuals] basic_ios should be ios_base in 27.7.1.3 Yes
376 CD1 27.7.1.4 [stringbuf.virtuals] basic_streambuf semantics Yes
432 CD1 27.7.1.4 [stringbuf.virtuals] stringbuf::overflow() makes only one write position available Yes
453 CD1 27.7.1.4 [stringbuf.virtuals] basic_stringbuf::seekoff need not always fail for an empty stream Yes
563 CD1 27.7.1.4 [stringbuf.virtuals] stringbuf seeking from end Yes
169 TC1 27.7.1.4 [stringbuf.virtuals] Bad efficiency of overflow() mandated Yes
45 NAD 27.7.3 [ostringstream] Stringstreams read/write pointers initial position unclear Yes
170 TC1 27.7.4 [stringstream] Inconsistent definition of traits_type Yes
105 Dup 27.8 [file.streams] fstream ctors argument types desired Yes 454
863 New 27.8.1 [fstreams] What is the state of a stream after close() succeeds No
420 CD1 27.8.1 [fstreams] is std::FILE a complete type? Yes
444 DR 27.8.1 [fstreams] Bad use of casts in fstream Yes
460 DR 27.8.1 [fstreams] Default modes missing from basic_fstream member specifications Yes
73 NAD 27.8.1 [fstreams] is_open should be const Yes
643 CD1 27.8.1.1 [filebuf] Impossible "as if" clauses Yes
443 CD1 27.8.1.4 [filebuf.members] filebuf::close() inconsistent use of EOF Yes
596 CD1 27.8.1.4 [filebuf.members] 27.8.1.3 Table 112 omits "a+" and "a+b" modes Yes
454 NAD 27.8.1.4 [filebuf.members] basic_filebuf::open should accept wchar_t names Yes 105
171 CD1 27.8.1.5 [filebuf.virtuals] Strange seekpos() semantics due to joint position Yes
173 TC1 27.8.1.5 [filebuf.virtuals] Inconsistent types for basic_filebuf::setbuf() Yes
285 CD1 27.8.1.7 [ifstream.cons] minor editorial errors in fstream ctors Yes
900 New 27.8.1.8 [ifstream.assign] stream move-assignment No
409 DR 27.8.1.9 [ifstream.members] Closing an fstream should clear error state Yes
592 NAD Editorial 27.8.1.9 [ifstream.members] Incorrect treatment of rdbuf()->close() return type Yes
642 NAD Editorial 27.8.1.9 [ifstream.members] Invalidated fstream footnotes in N2134 Yes
22 TC1 27.8.1.9 [ifstream.members] Member open vs. flags Yes
622 CD1 27.8.1.17 [fstream.members] behavior of filebuf dtor and close on error Yes

Section 28 (20 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
523 Open 28 [re] regex case-insensitive character ranges are unimplementable as specified No
524 CD1 28 [re] regex named character classes and case-insensitivity don't mix Yes
723 Open 28.8 [re.regex] basic_regex should be moveable Yes
628 CD1 28.8 [re.regex] Inconsistent definition of basic_regex constructor Yes
682 CD1 28.8.2 [re.regex.construct] basic_regex ctor takes InputIterator or ForwardIterator? Yes
681 CD1 28.9.2 [re.submatch.op] Operator functions impossible to compare are defined in [re.submatch.op] Yes
645 NAD Editorial 28.10 [re.results] Missing members in match_results Yes
684 NAD Editorial 28.10 [re.results] Unclear which members of match_results should be used in comparison Yes
646 CD1 28.10.4 [re.results.form] const incorrect match_result members Yes
647 NAD Editorial 28.11.3 [re.alg.search] Inconsistent regex_search params Yes
727 New 28.11.4 [re.alg.replace] regex_replace() doesn't accept basic_strings with custom traits and allocators Yes
726 Open 28.11.4 [re.alg.replace] Missing regex_replace() overloads Yes
652 CD1 28.12.1 [re.regiter] regex_iterator and const correctness Yes
648 NAD Editorial 28.12.1.1 [re.regiter.cnstr] regex_iterator c'tor needs clarification/editorial fix Yes
909 New 28.12.2 [re.tokiter] regex_token_iterator should use initializer_list Yes
650 CD1 28.12.2 [re.tokiter] regex_token_iterator and const correctness Yes
683 Pending NAD Editorial 28.12.2 [re.tokiter] regex_token_iterator summary error Yes
651 CD1 28.12.2.1 [re.tokiter.cnstr] Missing preconditions for regex_token_iterator c'tors Yes
649 NAD Editorial 28.12.2.1 [re.tokiter.cnstr] Several typos in regex_token_iterator constructors Yes
716 New 28.13 [re.grammar] Production in [re.grammar] not actually modified Yes

Section 29 (13 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
879 New 29 [atomics] Atomic load const qualification Yes
880 New 29 [atomics] Missing atomic exchange parameter Yes
923 New 29 [atomics] atomics with floating-point No
924 New 29 [atomics] structs with internal padding No
937 New 29 [atomics] Atomics for standard typedef types No
926 New 29.1 [atomics.order] Sequentially consistent fences, relaxed operations and modification order Yes
818 CD1 29.1 [atomics.order] wording for memory ordering Yes
908 New 29.3 [atomics.types] Deleted assignment operators for atomic types must be volatile Yes
845 CD1 29.3 [atomics.types] atomics cannot support aggregate initialization Yes
846 CD1 29.3 [atomics.types] No definition for constructor Yes
768 CD1 29.3.3 [atomics.types.generic] Typos in [atomics]? Yes
777 CD1 29.4 [atomics.types.operations] Atomics Library Issue Yes
864 NAD Editorial 29.4 [atomics.types.operations] Defect in atomic wording Yes

Section 30 (13 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
889 Open 30.2.1.1 [thread.thread.id] thread::id comparisons No
783 CD1 30.2.1.1 [thread.thread.id] thread::id reuse Yes
891 New 30.2.1.2 [thread.thread.constr] std::thread, std::call_once issue No
929 New 30.2.1.2 [thread.thread.constr] Thread constructor Yes
888 Review 30.2.2 [thread.thread.this] this_thread::yield too strong Yes
936 New 30.3.1 [thread.mutex.requirements] Mutex type overspecified No
893 New 30.3.1.1 [thread.mutex.class] std::mutex issue No
905 New 30.3.1.1 [thread.mutex.class] Mutex specification questions No
828 Review 30.3.1.1 [thread.mutex.class] Static initialization for std::mutex? Yes
784 NAD 30.3.3.2.3 [thread.lock.unique.mod] unique_lock::release Yes
859 Open 30.4 [thread.condition] Monotonic Clock is Conditionally Supported? Yes
857 Open 30.4.1 [thread.condition.condvar] condition_variable::time_wait return bool error prone No
887 Open 30.4.1 [thread.condition.condvar] issue with condition::wait_... No

Section C (1 issues)

Issue Status Section Title Proposed Resolution Duplicates
544 NAD Editorial C.2 [diff.library] minor NULL problems in C.2 Yes

Section D (18 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
143 NAD D.5 [depr.c.headers] C .h header wording unclear Yes
174 TC1 D.6 [depr.ios.members] Typo: OFF_T vs. POS_T Yes
175 TC1 D.6 [depr.ios.members] Ambiguity for basic_streambuf::pubseekpos() and a few other functions. Yes
176 TC1 D.6 [depr.ios.members] exceptions() in ios_base...? Yes
46 TC1 D.7 [depr.str.strstreams] Minor Annex D errors Yes
65 NAD D.7.1.3 [depr.strstreambuf.virtuals] Underspecification of strstreambuf::seekoff Yes
267 NAD D.7.1.3 [depr.strstreambuf.virtuals] interaction of strstreambuf::overflow() and seekoff() Yes
66 TC1 D.7.1.3 [depr.strstreambuf.virtuals] Strstreambuf::setbuf Yes
587 NAD Editorial D.7.2.1 [depr.istrstream.cons] iststream ctor missing description Yes
115 TC1 D.7.4.1 [depr.strstream.cons] Typo in strstream constructors Yes
109 CD1 D.8 [depr.lib.binders] Missing binders for non-const sequence elements Yes
362 CD1 D.8 [depr.lib.binders] bind1st/bind2nd type safety Yes
798 CD1 D.8 [depr.lib.binders] Refactoring of binders lead to interface breakage Yes
463 Open D.9.1 [auto.ptr] auto_ptr usability issues Yes
249 NAD D.9.1 [auto.ptr] Return Type of auto_ptr::operator= Yes
127 TC1 D.9.1 [auto.ptr] auto_ptr<> conversion issues Yes
2 NAD D.9.1.3 [auto.ptr.conv] Auto_ptr conversions effects incorrect Yes
445 DR D.10.1 [iterator.traits] iterator_traits::reference unspecified for some iterator categories Yes

Section X (3 issues)

Issue Status Section Title Proposed Resolution Duplicates
740 CD1 X [unique.ptr.compiletime] Please remove *_ptr<T[N]> Yes
789 CD1 X [rand.adapt.xor] xor_combine_engine(result_type) should be explicit Yes
790 NAD X [rand.adapt.xor] xor_combine::seed not specified Yes

Section TR1 5 (4 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
546 Open TR1 5.1.1 [tr.rand.req] _Longlong and _ULonglong are integer types No
785 New TR1 5.1.4.5 [tr.rand.eng.disc] Random Number Requirements in TR1 No
701 New TR1 5.2.1.1 [tr.num.sf.Lnm] assoc laguerre poly's No
702 New TR1 5.2.1.2 [tr.num.sf.Plm] Restriction in associated Legendre functions No

Section TR1 8 (2 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
568 New TR1 8.16.4 [tr.c99.cmath.over] log2 overloads missing Yes
555 NAD Editorial TR1 8.21 [tr.c99.boolh] TR1, 8.21/1: typo Yes

Section TRDecimal 3 (10 issues)

(view only non-Ready open issues)

Issue Status Section Title Proposed Resolution Duplicates
602 TRDec TRDecimal 3 [trdec.types] Decimal: "generic floating type" not defined. Yes
603 TRDec TRDecimal 3 [trdec.types] Decimal: Trivially simplifying decimal classes. Yes
604 TRDec TRDecimal 3 [trdec.types] Decimal: Storing a reference to a facet unsafe. Yes
599 TRDec TRDecimal 3.1 [trdec.types.encodings] Decimal: Say "octets" instead of "bytes." Yes
597 Open TRDecimal 3.2 [trdec.types.types] Decimal: The notion of 'promotion' cannot be emulated by user-defined types. No
606 Open TRDecimal 3.2 [trdec.types.types] Decimal: allow narrowing conversions Yes
598 TRDec TRDecimal 3.2 [trdec.types.types] Decimal: Conversion to integral should truncate, not round. Yes
601 TRDec TRDecimal 3.3 [trdec.types.limits] Decimal: numeric_limits typos Yes
605 TRDec TRDecimal 3.4 [trdec.types.cdecfloat] Decimal: <decfloat.h> doesn't live here anymore. Yes
600 TRDec TRDecimal 3.9 [trdec.types.cwchar] Decimal: Wrong parameters for wcstod* functions Yes