Reference ISO/IEC IS 14882:2011(E)
This document is the Index by Section for the Library Active Issues List, Library Defect Reports List, and Library Closed Issues List.
(view only non-Ready open issues)
Revised 2014-05-24 at 10:05:55 UTC
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
571 | NAD Editorial | 1.2 [intro.refs] | Update C90 references to C99? | Yes | ||
653 | NAD | 1.2 [intro.refs] | Library reserved names | Yes | ||
2075 | Resolved | 1.10 [intro.multithread] | Progress guarantees, lock-free property, and scheduling assumptions | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
462 | NAD | 3.6.3 [basic.start.term] | Destroying objects with static storage duration | Yes | ||
873 | NAD Editorial | 3.9.1 [basic.fundamental] | signed integral type and unsigned integral type are not clearly defined | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
877 | NAD Future | 17 [library] | to throw() or to Throw: Nothing. | Yes | ||
1173 | NAD Future | 17 [library] | "Equivalence" wishy-washiness | Yes | ||
1195 | C++11 | 17 [library] | "Diagnostic required" wording is insufficient to prevent UB | Yes | ||
1349 | C++11 | 17 [library] | swap should not throw | 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 | ||
343 | Resolved | 17 [library] | Unspecified library header dependencies | Yes | ||
625 | Resolved | 17 [library] | Mixed up Effects and Returns clauses | Yes | 895 | |
1151 | Resolved | 17 [library] | Behavior of the library in the presence of threads is incompletely specified | Yes | ||
1344 | Resolved | 17 [library] | Replace throw() with noexcept | Yes | 1351 | |
1345 | Resolved | 17 [library] | Library classes should have noexcept move operations | Yes | ||
1346 | Resolved | 17 [library] | Apply noexcept where library specification does not permit exceptions | Yes | 1352 | |
1347 | Resolved | 17 [library] | Apply noexcept judiciously throughout the library | Yes | ||
1353 | Resolved | 17 [library] | Clarify the state of a moved-from object | Yes | ||
972 | NAD Editorial | 17 [library] | The term "Assignable" undefined but still in use | Yes | ||
1232 | NAD Editorial | 17 [library] | Still swap's with rvalue-references | Yes | ||
385 | NAD | 17 [library] | Does call by value imply the CopyConstructible requirement? | Yes | ||
941 | NAD | 17 [library] | Ref-qualifiers for assignment operators | Yes | ||
996 | NAD | 17 [library] | Move operation not well specified | Yes | ||
1099 | NAD | 17 [library] | Various issues | Yes | ||
1153 | NAD | 17 [library] | Standard library needs review for constructors to be explicit to avoid treatment as initializer-list constructor | Yes | ||
1236 | NAD | 17 [library] | reserved identifiers in programs not using the library | Yes | ||
1331 | NAD | 17 [library] | incorporate move special member functions into library | Yes | ||
1348 | NAD | 17 [library] | Exception safety of unspecified types | Yes | ||
1350 | Dup | 17 [library] | Implicit contructors accidentally made some library types move-only | Yes | 1421 | |
1351 | Dup | 17 [library] | Replace dynamic exception specifications with noexcept | Yes | 1344 | |
1352 | Dup | 17 [library] | Apply noexcept where library specification says "Throws: Nothing" | Yes | 1346 | |
989 | NAD Concepts | 17 [library] | late_check and library | Yes | ||
1001 | NAD Concepts | 17 [library] | Pointers, concepts and headers | Yes | ||
1096 | NAD Concepts | 17 [library] | unconstrained rvalue ref parameters | Yes | ||
1354 | C++11 | 17.3.8 [defns.deadlock] | The definition of deadlock excludes cases involving a single thread | Yes | ||
1064 | NAD | 17.3.16 [defns.obj.state] | Term "object state" should not refer to classes | Yes | ||
2136 | Open | 17.5.1 [structure] | Postconditions vs. exceptions | No | 3 | |
424 | NAD Editorial | 17.5.1.2 [structure.summary] | normative notes | Yes | ||
995 | NAD | 17.5.1.3 [structure.requirements] | Operational Semantics Unclear | Yes | ||
2292 | New | 17.5.1.4 [structure.specifications] | Find a better phrasing for "shall not participate in overload resolution" | No | 3 | |
997 | C++11 | 17.5.1.4 [structure.specifications] | "Effects: Equivalent to" is underspecified | Yes | ||
222 | TC1 | 17.5.1.4 [structure.specifications] | Are throw clauses necessary if a throw is already implied by the effects clause? | Yes | ||
1179 | NAD Editorial | 17.5.1.4 [structure.specifications] | Probably editorial in [structure.specifications] | Yes | ||
626 | NAD Editorial | 17.5.1.4 [structure.specifications] | new Remark clauses not documented | Yes | ||
492 | NAD | 17.5.1.4 [structure.specifications] | Invalid iterator arithmetic expressions | Yes | ||
663 | NAD | 17.5.1.4 [structure.specifications] | Complexity Requirements | Yes | ||
895 | Dup | 17.5.1.4 [structure.specifications] | "Requires:" on std::string::at et al | Yes | 625 | |
1156 | NAD | 17.5.2.1.2 [enumerated.types] | Constraints on bitmask and enumeration types to be tightened | Yes | ||
262 | CD1 | 17.5.2.1.3 [bitmask.types] | Bitmask operator ~ specified incorrectly | Yes | ||
1357 | Resolved | 17.5.2.1.3 [bitmask.types] | Library bitmask types to not satisfy the bimask type requirements | Yes | ||
1060 | NAD Editorial | 17.5.2.1.4.1 [byte.strings] | Embedded nulls in NTBS | Yes | ||
1065 | C++11 | 17.6.1.1 [contents] | Allow inline namespaces within namespace std for implementations | Yes | ||
229 | CD1 | 17.6.1.1 [contents] | Unqualified references of other library entities | Yes | ||
992 | NAD | 17.6.1.1 [contents] | Allow implementations to implement C library in the global namespace | Yes | ||
2380 | New | 17.6.1.2 [headers] | May <cstdlib> provide long ::abs(long) and long long ::abs(long long)? | Yes | ||
310 | CD1 | 17.6.1.2 [headers] | Is errno a macro? | Yes | ||
456 | CD1 | 17.6.1.2 [headers] | Traditional C header files are overspecified | Yes | ||
465 | CD1 | 17.6.1.2 [headers] | Contents of <ciso646> | Yes | ||
1002 | NAD | 17.6.1.2 [headers] | Provide bulk include headers | Yes | ||
1264 | C++11 | 17.6.1.3 [compliance] | quick_exit support for freestanding implementations | Yes | ||
1360 | C++11 | 17.6.1.3 [compliance] | Add <atomic> to free-standing implementations | Yes | ||
833 | NAD | 17.6.1.3 [compliance] | Freestanding implementations header list needs review for C++0x | Yes | ||
1003 | NAD | 17.6.1.3 [compliance] | Require more useful headers for freestanding implementations | Yes | ||
1358 | NAD | 17.6.1.3 [compliance] | Add <chrono> and <ratio> to freestanding implementations | Yes | ||
1359 | NAD | 17.6.1.3 [compliance] | Add <tuple> and <utility> to freestanding implementations | Yes | ||
1361 | NAD | 17.6.2 [using] | Does use of std::size_t in a header imply that typedef name is available to users? | Yes | ||
2225 | C++14 | 17.6.2.2 [using.headers] | Unrealistic header inclusion checks required | Yes | ||
657 | NAD | 17.6.2.2 [using.headers] | unclear requirement about header inclusion | Yes | ||
1 | TC1 | 17.6.2.3 [using.linkage] | C library linkage editing oversight | Yes | ||
2281 | NAD Editorial | 17.6.2.3 [using.linkage] | C99 cross-reference typo in [using.linkage] | Yes | ||
2170 | Ready | 17.6.3.1 [utility.arg.requirements] | Aggregates cannot be DefaultConstructible | Yes | 2 | |
2146 | Open | 17.6.3.1 [utility.arg.requirements] | Are reference types Copy/Move-Constructible/Assignable or Destructible? | No | 2 | |
724 | C++11 | 17.6.3.1 [utility.arg.requirements] | DefaultConstructible is not defined | Yes | ||
753 | C++11 | 17.6.3.1 [utility.arg.requirements] | Move constructor in draft | Yes | ||
1309 | C++11 | 17.6.3.1 [utility.arg.requirements] | Missing expressions for Move/CopyConstructible | Yes | ||
672 | CD1 | 17.6.3.1 [utility.arg.requirements] | Swappable requirements need updating | Yes | ||
594 | Resolved | 17.6.3.1 [utility.arg.requirements] | Disadvantages of defining Swappable in terms of CopyConstructible and Assignable | Yes | ||
742 | Resolved | 17.6.3.1 [utility.arg.requirements] | Enabling swap for proxy iterators | Yes | ||
1283 | Resolved | 17.6.3.1 [utility.arg.requirements] | MoveConstructible and MoveAssignable need clarification of moved-from state | Yes | ||
1322 | Resolved | 17.6.3.1 [utility.arg.requirements] | Explicit CopyConstructible requirements are insufficient | Yes | ||
390 | NAD Editorial | 17.6.3.1 [utility.arg.requirements] | CopyConstructible requirements too strict | Yes | ||
822 | NAD | 17.6.3.1 [utility.arg.requirements] | Object with explicit copy constructor no longer CopyConstructible | Yes | ||
1374 | NAD | 17.6.3.1 [utility.arg.requirements] | Clarify moved-from objects are "toxic" | Yes | ||
910 | NAD Concepts | 17.6.3.1 [utility.arg.requirements] | Effects of MoveAssignable | Yes | ||
2152 | Open | 17.6.3.2 [swappable.requirements] | Instances of standard container types are not swappable | No | 2 | |
2171 | NAD | 17.6.3.2 [swappable.requirements] | "swappable" undefined for swapping lvalue and rvalue | Yes | ||
2114 | Open | 17.6.3.3 [nullablepointer.requirements] | Incorrect "contextually convertible to bool" requirements | Yes | 3 | |
2291 | C++14 | 17.6.3.4 [hash.requirements] | std::hash is vulnerable to collision DoS attack | Yes | ||
1332 | C++11 | 17.6.3.4 [hash.requirements] | Let Hash objects throw! | Yes | ||
2016 | Ready | 17.6.3.5 [allocator.requirements] | Allocators must be no-throw swappable | Yes | 2 | |
2384 | New | 17.6.3.5 [allocator.requirements] | Allocator's deallocate function needs better specification | Yes | ||
2108 | Open | 17.6.3.5 [allocator.requirements] | No way to identify allocator types that always compare equal | Yes | 3 | |
2178 | Open | 17.6.3.5 [allocator.requirements] | Allocator requirement changes not mentioned Annex C | No | 3 | |
2260 | Open | 17.6.3.5 [allocator.requirements] | Missing requirement for Allocator::pointer | Yes | 3 | |
2263 | C++14 | 17.6.3.5 [allocator.requirements] | Comparing iterators and allocator pointers with different const-character | Yes | 1 | |
2065 | C++14 | 17.6.3.5 [allocator.requirements] | Minimal allocator interface | Yes | ||
2081 | C++14 | 17.6.3.5 [allocator.requirements] | Allocator requirements should include CopyConstructible | Yes | ||
2147 | C++14 | 17.6.3.5 [allocator.requirements] | Unclear hint type in Allocator's allocate function | Yes | ||
2162 | C++14 | 17.6.3.5 [allocator.requirements] | allocator_traits::max_size missing noexcept | Yes | ||
752 | C++11 | 17.6.3.5 [allocator.requirements] | Allocator complexity requirement | Yes | ||
258 | CD1 | 17.6.3.5 [allocator.requirements] | Missing allocator requirement | Yes | ||
274 | CD1 | 17.6.3.5 [allocator.requirements] | a missing/impossible allocator requirement | Yes | ||
401 | CD1 | 17.6.3.5 [allocator.requirements] | incorrect type casts in table 32 in lib.allocator.requirements | Yes | ||
402 | CD1 | 17.6.3.5 [allocator.requirements] | wrong new expression in [some_]allocator::construct | Yes | ||
199 | TC1 | 17.6.3.5 [allocator.requirements] | What does allocate(0) return? | Yes | ||
431 | Resolved | 17.6.3.5 [allocator.requirements] | Swapping containers with unequal allocators | Yes | ||
635 | Resolved | 17.6.3.5 [allocator.requirements] | domain of allocator::address | Yes | ||
2311 | NAD | 17.6.3.5 [allocator.requirements] | Allocator requirements should be further minimized | Yes | 2 | |
12 | NAD | 17.6.3.5 [allocator.requirements] | Way objects hold allocators unclear | Yes | ||
197 | NAD | 17.6.3.5 [allocator.requirements] | max_size() underspecified | Yes | ||
277 | NAD | 17.6.3.5 [allocator.requirements] | Normative encouragement in allocator requirements unclear | Yes | ||
487 | NAD | 17.6.3.5 [allocator.requirements] | Allocator::construct is too limiting | Yes | ||
560 | NAD | 17.6.3.5 [allocator.requirements] | User-defined allocators without default constructor | Yes | ||
1376 | NAD | 17.6.3.5 [allocator.requirements] | Allocator interface is not backward compatible | Yes | ||
1375 | Dup | 17.6.3.5 [allocator.requirements] | reference_type should not have been removed from the allocator requirements | Yes | 1318 | |
2129 | Tentatively Ready | 17.6.4.2.1 [namespace.std] | User specializations of std::initializer_list | Yes | 3 | |
2139 | Open | 17.6.4.2.1 [namespace.std] | What is a user-defined type? | No | 4 | |
1157 | C++11 | 17.6.4.2.1 [namespace.std] | Local types can now instantiate templates | Yes | ||
422 | CD1 | 17.6.4.3 [reserved.names] | explicit specializations of member functions of class templates | 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 | ||
2014 | C++11 | 17.6.4.3.1 [macro.names] | More restrictions on macro names | Yes | ||
294 | CD1 | 17.6.4.3.1 [macro.names] | User defined macros and standard headers | Yes | ||
2340 | Ready | 17.6.4.6 [replacement.functions] | Replacement allocation functions declared as inline | Yes | 2 | |
404 | CD1 | 17.6.4.6 [replacement.functions] | May a replacement allocation function be declared inline? | Yes | ||
1004 | C++11 | 17.6.4.8 [res.on.functions] | Clarify "throws an exception" | Yes | ||
611 | CD1 | 17.6.4.8 [res.on.functions] | Standard library templates and incomplete types | Yes | ||
1204 | C++11 | 17.6.4.9 [res.on.arguments] | Global permission to move | Yes | ||
1362 | C++11 | 17.6.4.9 [res.on.arguments] | Description of binding to rvalue-references should use the new 'xvalue' vocabulary | Yes | ||
2224 | Open | 17.6.4.10 [res.on.objects] | Ambiguous status of access to non-live objects | Yes | 2 | |
1095 | C++11 | 17.6.4.10 [res.on.objects] | Shared objects and the library wording unclear | Yes | ||
529 | NAD Editorial | 17.6.4.11 [res.on.required] | The standard encourages redundant and confusing preconditions | Yes | ||
2373 | New | 17.6.5 [conforming] | Make new entities and names in namespace std conforming extensions | No | ||
2112 | C++14 | 17.6.5 [conforming] | User-defined classes that cannot be derived from | Yes | 1 | |
94 | NAD | 17.6.5 [conforming] | May library implementors add template parameters to Standard Library classes? | Yes | ||
2113 | NAD | 17.6.5 [conforming] | Do library implementers have the freedom to add final to non-polymorphic components? | Yes | ||
1178 | C++11 | 17.6.5.2 [res.on.headers] | Header dependencies | Yes | ||
2133 | Open | 17.6.5.4 [global.functions] | Attitude to overloaded comma for iterators | Yes | 3 | |
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 | ||
2259 | New | 17.6.5.5 [member.functions] | Issues in 17.6.5.5 rules for member functions | Yes | 3 | |
95 | NAD | 17.6.5.5 [member.functions] | Members added by the implementation | Yes | ||
2013 | C++14 | 17.6.5.6 [constexpr.functions] | Do library implementers have the freedom to add constexpr? | Yes | ||
2044 | C++14 | 17.6.5.7 [algorithm.stable] | No definition of "Stable" for copy algorithms | Yes | ||
2382 | New | 17.6.5.8 [reentrancy] | Unclear order of container update versus object destruction on removing an object | No | ||
1526 | Open | 17.6.5.9 [res.on.data.races] | C++ should not impose thread safety requirements on C99 library implementations | Yes | 3 | |
119 | TC1 | 17.6.5.12 [res.on.exception.handling] | Should virtual functions be allowed to strengthen the exception specification? | Yes | ||
372 | NAD | 17.6.5.12 [res.on.exception.handling] | Inconsistent description of stdlib exceptions | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
1066 | C++11 | 18 [language.support] | Use [[noreturn]] attribute in the library | Yes | ||
2251 | New | 18.2 [support.types] | C++ library should define ssize_t | Yes | 3 | |
1097 | C++11 | 18.2 [support.types] | #define __STDCPP_THREADS | Yes | ||
1363 | C++11 | 18.2 [support.types] | offsetof should be marked noexcept | Yes | ||
306 | CD1 | 18.2 [support.types] | offsetof macro and non-POD types | Yes | ||
449 | CD1 | 18.2 [support.types] | Library Issue 306 Goes Too Far | Yes | ||
1314 | NAD | 18.2 [support.types] | NULL and nullptr | Yes | ||
2248 | New | 18.3.2 [limits] | numeric_limits::is_iec559 misnamed | No | 4 | |
201 | CD1 | 18.3.2 [limits] | Numeric limits terminology wrong | Yes | ||
559 | CD1 | 18.3.2 [limits] | numeric_limits<const T> | Yes | ||
902 | NAD Concepts | 18.3.2 [limits] | Regular is the wrong concept to constrain numeric_limits | Yes | ||
1005 | NAD Concepts | 18.3.2.3 [numeric.limits] | numeric_limits partial specializations not concept enabled | Yes | ||
497 | CD1 | 18.3.2.4 [numeric.limits.members] | meaning of numeric_limits::traps for floating point types | Yes | ||
612 | CD1 | 18.3.2.4 [numeric.limits.members] | numeric_limits::is_modulo insufficiently defined | Yes | ||
591 | NAD Editorial | 18.3.2.4 [numeric.limits.members] | Misleading "built-in | Yes | ||
205 | NAD | 18.3.2.4 [numeric.limits.members] | numeric_limits unclear on how to determine floating point types | Yes | ||
184 | CD1 | 18.3.2.7 [numeric.special] | numeric_limits<bool> wording problems | Yes | ||
613 | CD1 | 18.3.2.7 [numeric.special] | max_digits10 missing from numeric_limits | Yes | ||
554 | NAD | 18.3.2.7 [numeric.special] | Problem with lwg DR 184 numeric_limits<bool> | Yes | ||
416 | CD1 | 18.3.3 [c.limits] | definitions of XXX_MIN and XXX_MAX macros in climits | Yes | ||
593 | CD1 | 18.4 [cstdint] | __STDC_CONSTANT_MACROS | Yes | ||
557 | NAD Editorial | 18.4 [cstdint] | TR1: div(_Longlong, _Longlong) vs div(intmax_t, intmax_t) | Yes | ||
553 | NAD Editorial | 18.4.1 [cstdint.syn] | very minor editorial change intptr_t / uintptr_t | Yes | ||
841 | NAD Editorial | 18.4.1 [cstdint.syn] | cstdint.syn inconsistent with C99 | Yes | ||
993 | C++11 | 18.5 [support.start.term] | _Exit needs better specification | Yes | ||
1144 | C++11 | 18.5 [support.start.term] | "thread safe" is undefined | Yes | ||
3 | TC1 | 18.5 [support.start.term] | Atexit registration during atexit() call is not described | Yes | ||
2368 | New | 18.6.1 [new.delete] | Replacing global operator new | No | ||
1006 | C++11 | 18.6.1 [new.delete] | operator delete in garbage collected implementation | Yes | ||
9 | TC1 | 18.6.1 [new.delete] | Operator new(0) calls should not yield the same pointer | Yes | ||
206 | CD1 | 18.6.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.6.1.1 [new.delete.single] | Storage allocation wording confuses "Required behavior", "Requires" | Yes | ||
627 | NAD | 18.6.1.1 [new.delete.single] | Low memory and exceptions | Yes | ||
298 | CD1 | 18.6.1.2 [new.delete.array] | ::operator delete[] requirement incorrect/insufficient | Yes | ||
2302 | Tentatively NAD | 18.6.1.3 [new.delete.placement] | Passing null pointer to placement new | Yes | 2 | |
2303 | New | 18.6.1.3 [new.delete.placement] | Explicit instantiation of std::vector<UserType> broken? | No | 3 | |
114 | TC1 | 18.6.1.3 [new.delete.placement] | Placement forms example in error twice | Yes | 196 | |
196 | Dup | 18.6.1.3 [new.delete.placement] | Placement new example has alignment problems | Yes | 114 | |
1524 | C++11 | 18.6.1.4 [new.delete.dataraces] | Allocation functions are missing happens-before requirements and guarantees | Yes | ||
1366 | Resolved | 18.6.1.4 [new.delete.dataraces] | New-handler and data races | Yes | ||
1365 | Resolved | 18.6.2 [alloc.errors] | Thread-safety of handler functions | Yes | ||
2378 | New | 18.6.2.1 [bad.alloc] | Behaviour of standard exception types | Yes | ||
994 | C++11 | 18.6.2.3 [new.handler] | quick_exit should terminate well-defined | Yes | ||
108 | TC1 | 18.7.1 [type.info] | Lifetime of exception::what() return unspecified | Yes | ||
70 | TC1 | 18.8 [support.exception] | Uncaught_exception() missing throw() specification | Yes | ||
269 | NAD | 18.8 [support.exception] | cstdarg and unnamed parameters | Yes | ||
471 | C++11 | 18.8.1 [exception] | result of what() implementation-defined | Yes | ||
266 | CD1 | 18.8.2 [bad.exception] | bad_exception::~bad_exception() missing Effects clause | Yes | ||
2088 | Open | 18.8.3 [exception.terminate] | std::terminate problem | No | 3 | |
2111 | Review | 18.8.3.4 [terminate] | Which unexpected/terminate handler is called from the exception handling runtime? | Yes | 3 | |
313 | NAD | 18.8.3.4 [terminate] | set_terminate and set_unexpected question | Yes | ||
314 | NAD | 18.8.3.4 [terminate] | Is the stack unwound when terminate() is called? | Yes | ||
1368 | C++11 | 18.8.4 [uncaught] | Thread safety of std::uncaught_exception() | Yes | ||
1130 | C++11 | 18.8.5 [propagation] | copy_exception name misleading | Yes | ||
744 | CD1 | 18.8.5 [propagation] | What is the lifetime of an exception pointed to by an exception_ptr? | Yes | ||
746 | CD1 | 18.8.5 [propagation] | current_exception may fail with bad_alloc | Yes | ||
820 | CD1 | 18.8.5 [propagation] | current_exception()'s interaction with throwing copy ctors | Yes | ||
829 | CD1 | 18.8.5 [propagation] | current_exception wording unclear about exception type | Yes | ||
1135 | Resolved | 18.8.5 [propagation] | exception_ptr should support contextual conversion to bool | Yes | ||
1307 | Resolved | 18.8.5 [propagation] | exception_ptr and allocator pointers don't understand != | Yes | ||
1364 | Resolved | 18.8.5 [propagation] | It is not clear how exception_ptr is synchronized | Yes | ||
707 | NAD | 18.8.5 [propagation] | null pointer constant for exception_ptr | Yes | ||
745 | NAD | 18.8.5 [propagation] | copy_exception API slices. | Yes | ||
1369 | NAD | 18.8.5 [propagation] | rethrow_exception may introduce data races | Yes | ||
819 | C++11 | 18.8.6 [except.nested] | rethrow_if_nested | Yes | ||
1136 | C++11 | 18.8.6 [except.nested] | Incomplete specification of nested_exception::rethrow_nested() | Yes | ||
1216 | C++11 | 18.8.6 [except.nested] | LWG 1066 Incomplete? | Yes | ||
1370 | C++11 | 18.8.6 [except.nested] | throw_with_nested should not use perfect forwarding | Yes | ||
1008 | NAD | 18.8.6 [except.nested] | nested_exception wording unclear | Yes | ||
1132 | NAD | 18.8.6 [except.nested] | JP-30: nested exceptions | Yes | ||
1007 | NAD Concepts | 18.8.6 [except.nested] | throw_with_nested not concept enabled | Yes | ||
906 | NAD Concepts | 18.9 [support.initlist] | ObjectType is the wrong concept to constrain initializer_list | Yes | ||
2241 | Open | 18.10 [support.runtime] | <cstdalign> and #define of alignof | No | 2 | |
2155 | Open | 18.10 [support.runtime] | Macro __bool_true_false_are_defined should be removed | No | 4 | |
2099 | C++14 | 18.10 [support.runtime] | Unnecessary constraints of va_start() usage | Yes | ||
894 | C++11 | 18.10 [support.runtime] | longjmp and destructors | Yes | ||
619 | CD1 | 18.10 [support.runtime] | Longjmp wording problem | Yes | ||
1265 | NAD | 18.10 [support.runtime] | longjmp and destructors | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
1371 | NAD | 19 [diagnostics] | Standard exceptions require stronger no-throw guarantees | Yes | ||
254 | CD1 | 19.2 [std.exceptions] | Exception types in clause 19 are constructed from std::string | Yes | ||
2073 | NAD | 19.2 [std.exceptions] | Library exceptions that take string arguments | Yes | ||
2234 | Open | 19.3 [assertions] | assert() should allow usage in constant expressions | No | 3 | |
288 | CD1 | 19.4 [errno] | <cerrno> requirements missing macro EILSEQ | Yes | ||
1237 | C++11 | 19.5 [syserr] | Constrained error_code/error_condition members | Yes | ||
804 | CD1 | 19.5 [syserr] | Some problems with classes error_code/error_condition | Yes | ||
805 | CD1 | 19.5 [syserr] | posix_error::posix_errno concerns | Yes | ||
697 | Resolved | 19.5 [syserr] | New <system_error> header leads to name clashes | Yes | ||
832 | NAD | 19.5 [syserr] | Applying constexpr to System error support | Yes | ||
2145 | C++14 | 19.5.1 [syserr.errcat] | error_category default constructor | Yes | ||
890 | C++11 | 19.5.1 [syserr.errcat] | Improving <system_error> initialization | Yes | ||
1372 | C++11 | 19.5.1.5 [syserr.errcat.objects] | Adopt recommended practice for standard error categories | Yes | ||
825 | Resolved | 19.5.2.1 [syserr.errcode.overview] | Missing rvalues reference stream insert/extract operators? | Yes | ||
1229 | Resolved | 19.5.2.3 [syserr.errcode.modifiers] | error_code operator= typo | Yes | ||
971 | NAD | 19.5.2.5 [syserr.errcode.nonmembers] | Spurious diagnostic conversion function | Yes | ||
2109 | C++14 | 19.5.5 [syserr.hash] | Incorrect requirements for hash specializations | Yes | ||
698 | CD1 | 19.5.6.1 [syserr.syserr.overview] | system_error needs const char* constructors | Yes | ||
1103 | C++11 | 19.5.6.2 [syserr.syserr.members] | system_error constructor postcondition overly strict | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
312 | CD1 | 20 [utilities] | Table 27 is missing headers | Yes | ||
1075 | Resolved | 20 [utilities] | Scoped allocators are too complex | Yes | ||
2212 | Tentatively Ready | 20.2 [utility] | tuple_size for const pair request <tuple> header | Yes | 3 | |
1289 | NAD Future | 20.2 [utility] | Generic casting requirements for smart pointers | Yes | ||
1255 | C++11 | 20.2 [utility] | declval should be added to the library | Yes | ||
1377 | Resolved | 20.2 [utility] | The revised forward is not compatible with access-control | Yes | ||
1373 | NAD | 20.2 [utility] | Customizable traits should have their own headers | Yes | ||
2153 | Open | 20.2.2 [utility.swap] | Narrowing of the non-member swap contract | No | 2 | |
2388 | New | 20.2.3 [utility.exchange] | Handling self-assignment in the proposed library function std::exchange | Yes | ||
2297 | NAD | 20.2.3 [utility.exchange] | [CD] Missing type requirements for std::exchange | Yes | ||
939 | C++11 | 20.2.4 [forward] | Problem with std::identity and reference-to-temporaries | Yes | ||
700 | CD1 | 20.2.4 [forward] | N1856 defines struct identity | Yes | ||
808 | CD1 | 20.2.4 [forward] | [forward] incorrect redundant specification | Yes | ||
823 | Resolved | 20.2.4 [forward] | identity<void> seems broken | Yes | ||
1054 | Resolved | 20.2.4 [forward] | forward broken | Yes | ||
296 | C++11 | 20.3 [pairs] | Missing descriptions and requirements of pair operators | Yes | ||
811 | C++11 | 20.3 [pairs] | pair of pointers no longer works with literal 0 | Yes | ||
885 | C++11 | 20.3 [pairs] | pair assignment | Yes | ||
265 | CD1 | 20.3 [pairs] | std::pair::pair() effects overly restrictive | Yes | ||
706 | CD1 | 20.3 [pairs] | make_pair() should behave as make_tuple() wrt. reference_wrapper() | Yes | ||
181 | TC1 | 20.3 [pairs] | make_pair() unintended behavior | Yes | ||
353 | Resolved | 20.3 [pairs] | std::pair missing template assignment | Yes | ||
482 | Resolved | 20.3 [pairs] | Swapping pairs | Yes | ||
1378 | Resolved | 20.3 [pairs] | pair and tuple have too many conversions | Yes | ||
1380 | Resolved | 20.3 [pairs] | pair and tuple of references need to better specify move-semantics | Yes | ||
1382 | Resolved | 20.3 [pairs] | pair and tuple constructors should forward arguments | Yes | ||
1383 | Resolved | 20.3 [pairs] | Inconsistent defaulted move/copy members in pair and tuple | Yes | ||
840 | NAD | 20.3 [pairs] | pair default template argument | Yes | ||
916 | NAD | 20.3 [pairs] | Redundant move-assignment operator of pair should be removed | Yes | ||
348 | Dup | 20.3 [pairs] | Minor issue with std::pair operator< | Yes | 532 | |
1167 | NAD Concepts | 20.3 [pairs] | pair<T,U> doesn't model LessThanComparable in unconstrained code even if T and U do. | Yes | ||
2289 | New | 20.3.2 [pairs.pair] | constexpr guarantees of defaulted functions still insufficient | Yes | 3 | |
1326 | Resolved | 20.3.2 [pairs.pair] | Missing/wrong preconditions for pair and tuple functions | Yes | ||
1324 | Resolved | 20.3.2 [pairs.pair] | Still too many implicit conversions for pair and tuple | Yes | ||
1379 | Resolved | 20.3.2 [pairs.pair] | pair copy-assignment not consistent for references | Yes | ||
2068 | NAD | 20.3.2 [pairs.pair] | std::pair not C++03-compatible with defaulted copy c'tor | Yes | ||
1061 | NAD Editorial | 20.3.4 [pair.astuple] | Bad indexing for tuple access to pair (Editorial?) | Yes | ||
522 | CD1 | 20.4 [tuple] | Tuple doesn't define swap | Yes | ||
801 | Resolved | 20.4 [tuple] | tuple and pair trivial members | Yes | ||
2051 | Open | 20.4.2 [tuple.tuple] | Explicit tuple constructors for more than one parameter | No | 2 | |
1116 | Resolved | 20.4.2 [tuple.tuple] | Literal constructors for tuple | Yes | ||
1077 | NAD Editorial | 20.4.2 [tuple.tuple] | Nonesense tuple declarations | Yes | ||
2312 | New | 20.4.2.1 [tuple.cnstr] | tuple's constructor constraints need to be phrased more precisely | Yes | 2 | |
886 | C++11 | 20.4.2.1 [tuple.cnstr] | tuple construction | Yes | ||
807 | CD1 | 20.4.2.1 [tuple.cnstr] | tuple construction should not fail unless its element's construction fails | Yes | ||
1117 | Resolved | 20.4.2.1 [tuple.cnstr] | tuple copy constructor | Yes | ||
917 | NAD | 20.4.2.1 [tuple.cnstr] | Redundant move-assignment operator of tuple should be removed | Yes | ||
918 | NAD Concepts | 20.4.2.3 [tuple.swap] | Swap for tuple needs to be conceptualized | Yes | ||
1201 | NAD Future | 20.4.2.4 [tuple.creation] | Do we always want to unwrap ref-wrappers in make_tuple | Yes | ||
2301 | C++14 | 20.4.2.4 [tuple.creation] | Why is std::tie not constexpr? | Yes | 2 | |
2275 | C++14 | 20.4.2.4 [tuple.creation] | [CD] Why is forward_as_tuple not constexpr? | Yes | ||
1384 | C++11 | 20.4.2.4 [tuple.creation] | Function pack_arguments is poorly named | Yes | ||
1385 | C++11 | 20.4.2.4 [tuple.creation] | tuple_cat should be a single variadic signature | Yes | ||
1386 | C++11 | 20.4.2.4 [tuple.creation] | pack_arguments overly complex | Yes | ||
2313 | C++14 | 20.4.2.5 [tuple.helper] | tuple_size should always derive from integral_constant<size_t, N> | Yes | 2 | |
1118 | C++11 | 20.4.2.5 [tuple.helper] | tuple query APIs do not support cv-qualification | Yes | ||
775 | CD1 | 20.4.2.5 [tuple.helper] | Tuple indexing should be unsigned? | Yes | ||
1119 | NAD | 20.4.2.5 [tuple.helper] | tuple query APIs do not support references | Yes | ||
1191 | C++11 | 20.4.2.6 [tuple.elem] | tuple get API should respect rvalues | Yes | ||
532 | NAD Future | 20.4.2.7 [tuple.rel] | Tuple comparison | Yes | 348 | |
1335 | C++11 | 20.4.2.7 [tuple.rel] | Insufficient requirements for tuple::operator<() | Yes | ||
928 | NAD Concepts | 20.4.2.7 [tuple.rel] | Wrong concepts used for tuple's comparison operators | Yes | ||
2314 | C++14 | 20.5.1 [intseq.general] | apply() should return decltype(auto) and use decay_t before tuple_size | Yes | 0 | |
2345 | NAD | 20.5.2 [intseq.intseq] | integer_sequence should have a self-typedef ::type | Yes | 2 | |
2348 | New | 20.6 [template.bitset] | charT('1') is not the wide equivalent of '1' | Yes | 3 | |
1112 | NAD Future | 20.6 [template.bitset] | bitsets and new style for loop | Yes | ||
853 | C++11 | 20.6 [template.bitset] | to_string needs updating with zero and one | Yes | ||
1113 | C++11 | 20.6 [template.bitset] | bitset::to_string could be simplified | Yes | ||
1227 | C++11 | 20.6 [template.bitset] | <bitset> synopsis overspecified | Yes | ||
1250 | C++11 | 20.6 [template.bitset] | <bitset> still overspecified | Yes | ||
693 | CD1 | 20.6 [template.bitset] | std::bitset::all() missing |
Yes | ||
694 | CD1 | 20.6 [template.bitset] | std::bitset and long long |
Yes | ||
11 | TC1 | 20.6 [template.bitset] | Bitset minor problems | Yes | ||
116 | Dup | 20.6 [template.bitset] | bitset cannot be constructed with a const char* | Yes | 778 | |
2250 | New | 20.6.1 [bitset.cons] | Follow-up On Library Issue 2207 | Yes | 3 | |
1325 | C++11 | 20.6.1 [bitset.cons] | bitset | Yes | ||
396 | CD1 | 20.6.1 [bitset.cons] | what are characters zero and one | Yes | ||
457 | CD1 | 20.6.1 [bitset.cons] | bitset constructor: incorrect number of initialized bits | Yes | ||
778 | CD1 | 20.6.1 [bitset.cons] | std::bitset does not have any constructor taking a string literal | Yes | 116 | |
907 | C++11 | 20.6.2 [bitset.members] | Bitset's immutable element retrieval is inconsistently defined | Yes | ||
434 | CD1 | 20.6.2 [bitset.members] | bitset::to_string() hard to use | Yes | ||
186 | CD1 | 20.6.2 [bitset.members] | bitset::set() second parameter should be bool | Yes | ||
1168 | NAD Editorial | 20.6.2 [bitset.members] | Odd wording for bitset equality operators | Yes | ||
303 | CD1 | 20.6.4 [bitset.operators] | Bitset input operator underspecified | Yes | ||
1073 | C++11 | 20.7 [memory] | Declaration of allocator_arg should be constexpr | Yes | ||
1401 | C++11 | 20.7 [memory] | Provide support for unique_ptr<T> == nullptr | Yes | ||
1402 | C++11 | 20.7 [memory] | nullptr constructors for smart pointers should be constexpr | Yes | ||
1233 | NAD Editorial | 20.7 [memory] | Missing unique_ptr signatures in synopsis | Yes | ||
1026 | NAD Concepts | 20.7 [memory] | Smart pointers need to be concept-constrained templates | Yes | ||
1404 | C++11 | 20.7.3 [pointer.traits] | pointer_traits should have a size_type member | Yes | ||
1098 | C++11 | 20.7.4 [util.dynamic.safety] | definition of get_pointer_safety() | Yes | ||
1408 | C++11 | 20.7.4 [util.dynamic.safety] | Allow recycling of pointers after undeclare_no_pointers | Yes | ||
858 | CD1 | 20.7.4 [util.dynamic.safety] | Wording for Minimal Support for Garbage Collection | Yes | ||
1022 | NAD Editorial | 20.7.4 [util.dynamic.safety] | Pointer-safety API has nothing to do with smart pointers | Yes | ||
2377 | New | 20.7.5 [ptr.align] | std::align requirements overly strict | Yes | ||
1403 | C++11 | 20.7.6 [allocator.tag] | Inconsistent definitions for allocator_arg | Yes | ||
2284 | C++14 | 20.7.8 [allocator.traits] | Inconsistency in allocator_traits::max_size | Yes | ||
1318 | NAD | 20.7.8.1 [allocator.traits.types] | N2982 removes previous allocator capabilities | Yes | 1375 | |
1285 | C++11 | 20.7.8.2 [allocator.traits.members] | allocator_traits call to new | Yes | ||
1286 | C++11 | 20.7.8.2 [allocator.traits.members] | allocator_traits::select_on_container_copy_construction type-o | Yes | ||
2103 | C++14 | 20.7.9 [default.allocator] | std::allocator_traits<std::allocator<T>>::propagate_on_container_move_assignment | Yes | ||
1027 | NAD Concepts | 20.7.9 [default.allocator] | std::allocator needs to be a concept-constrained template | Yes | ||
2089 | Open | 20.7.9.1 [allocator.members] | std::allocator::construct should use uniform initialization | Yes | 2 | |
234 | CD1 | 20.7.9.1 [allocator.members] | Typos in allocator definition | Yes | ||
400 | CD1 | 20.7.9.1 [allocator.members] | redundant type cast in lib.allocator.members | Yes | ||
578 | CD1 | 20.7.9.1 [allocator.members] | purpose of hint to allocator::allocate() | Yes | ||
634 | CD1 | 20.7.9.1 [allocator.members] | allocator.address() doesn't work for types overloading operator& | Yes | 350 | |
350 | Dup | 20.7.9.1 [allocator.members] | allocator<>::address | Yes | 634 | |
2127 | Open | 20.7.10 [storage.iterator] | Move-construction with raw_storage_iterator | Yes | 3 | |
1028 | NAD Concepts | 20.7.10 [storage.iterator] | raw_storage_iterator needs to be a concept-constrained template | Yes | ||
2072 | Open | 20.7.11 [temporary.buffer] | Unclear wording about capacity of temporary buffers | Yes | 3 | |
425 | CD1 | 20.7.11 [temporary.buffer] | return value of std::get_temporary_buffer | Yes | ||
866 | C++11 | 20.7.12 [specialized.algorithms] | Qualification of placement new-expressions | Yes | ||
999 | C++11 | 20.7.12 [specialized.algorithms] | Taking the address of a function | Yes | ||
1029 | NAD Concepts | 20.7.12 [specialized.algorithms] | Specialized algorithms for memory management need to be concept-constrained templates | Yes | ||
2296 | New | 20.7.12.1 [specialized.addressof] | std::addressof should be constexpr | Yes | 3 | |
970 | C++11 | 20.7.12.1 [specialized.addressof] | addressof overload unneeded | Yes | ||
754 | NAD Editorial | 20.7.12.2 [uninitialized.copy] | Ambiguous return clause for std::uninitialized_copy | Yes | ||
582 | NAD | 20.7.12.2 [uninitialized.copy] | specialized algorithms and volatile storage | Yes | ||
1339 | C++11 | 20.7.12.4 [uninitialized.fill.n] | uninitialized_fill_n should return the end of its range | Yes | ||
673 | CD1 | 20.8.1 [unique.ptr] | unique_ptr update | Yes | ||
740 | CD1 | 20.8.1 [unique.ptr] | Please remove *_ptr<T[N]> | Yes | ||
762 | CD1 | 20.8.1 [unique.ptr] | std::unique_ptr requires complete type? | Yes | ||
1193 | C++11 | 20.8.1.1 [unique.ptr.dltr] | default_delete cannot be instantiated with incomplete types | Yes | ||
1517 | C++11 | 20.8.1.1.2 [unique.ptr.dltr.dflt] | default_delete's default constructor should be trivial | Yes | ||
854 | C++11 | 20.8.1.1.2 [unique.ptr.dltr.dflt] | default_delete converting constructor underspecified | Yes | ||
938 | C++11 | 20.8.1.1.3 [unique.ptr.dltr.dflt1] | default_delete<T[]>::operator() should only accept T* | Yes | ||
2361 | Tentatively Ready | 20.8.1.2 [unique.ptr.single] | Apply 2299 resolution throughout library | Yes | ||
2262 | New | 20.8.1.2 [unique.ptr.single] | Requirement for unique_ptr<T>::get_deleter()(p) to be able to destroy the unique_ptr | Yes | 3 | |
1303 | C++11 | 20.8.1.2 [unique.ptr.single] | shared_ptr, unique_ptr, and rvalue references v2 | Yes | ||
834 | Resolved | 20.8.1.2 [unique.ptr.single] | unique_ptr::pointer requirements underspecified | Yes | ||
983 | Resolved | 20.8.1.2 [unique.ptr.single] | unique_ptr reference deleters should not be moved from | Yes | ||
932 | Resolved | 20.8.1.2.1 [unique.ptr.single.ctor] | unique_ptr(pointer p) for pointer deleter types | Yes | ||
950 | Resolved | 20.8.1.2.1 [unique.ptr.single.ctor] | unique_ptr converting ctor shouldn't accept array form | Yes | ||
1100 | Resolved | 20.8.1.2.1 [unique.ptr.single.ctor] | auto_ptr to unique_ptr conversion | Yes | ||
2228 | Review | 20.8.1.2.3 [unique.ptr.single.asgn] | Missing SFINAE rule in unique_ptr templated assignment | Yes | 3 | |
2047 | C++14 | 20.8.1.2.3 [unique.ptr.single.asgn] | Incorrect "mixed" move-assignment semantics of unique_ptr | Yes | ||
2246 | C++14 | 20.8.1.2.3 [unique.ptr.single.asgn] | unique_ptr assignment effects w.r.t. deleter | Yes | ||
1021 | C++11 | 20.8.1.2.3 [unique.ptr.single.asgn] | Allow nullptr_t assignments to unique_ptr | Yes | ||
686 | NAD | 20.8.1.2.4 [unique.ptr.single.observers] | unique_ptr and shared_ptr fail to specify non-convertibility to int for unspecified-bool-type | Yes | ||
933 | NAD Future | 20.8.1.2.5 [unique.ptr.single.modifiers] | Unique_ptr defect | Yes | ||
998 | C++11 | 20.8.1.2.5 [unique.ptr.single.modifiers] | Smart pointer referencing its owner | Yes | ||
806 | CD1 | 20.8.1.2.5 [unique.ptr.single.modifiers] | unique_ptr::reset effects incorrect, too permissive | Yes | ||
2118 | Open | 20.8.1.3 [unique.ptr.runtime] | [CD] unique_ptr for array does not support cv qualification conversion of actual argument | Yes | 1 | |
1293 | Resolved | 20.8.1.3 [unique.ptr.runtime] | unique_ptr<T[], D> needs to get rid of unspecified-pointer-type | Yes | ||
2060 | NAD Editorial | 20.8.1.3 [unique.ptr.runtime] | unique_ptr<T[]>(nullptr_t) missing noexcept | Yes | ||
2169 | C++14 | 20.8.1.3.3 [unique.ptr.runtime.modifiers] | Missing reset() requirements in unique_ptr specialization | Yes | ||
821 | C++11 | 20.8.1.3.3 [unique.ptr.runtime.modifiers] | Minor cleanup : unique_ptr | Yes | ||
1297 | Resolved | 20.8.1.5 [unique.ptr.special] | unique_ptr's relational operator functions should induce a total order | Yes | ||
2376 | Tentatively Ready | 20.8.2.1 [util.smartptr.weakptr] | bad_weak_ptr::what() overspecified | Yes | ||
2365 | Tentatively Ready | 20.8.2.2 [util.smartptr.shared] | Missing noexcept in shared_ptr::shared_ptr(nullptr_t) | Yes | ||
1031 | NAD Future | 20.8.2.2 [util.smartptr.shared] | Need shared_ptr conversion to a unique_ptr | Yes | ||
1406 | NAD Future | 20.8.2.2 [util.smartptr.shared] | Support hashing smart-pointers based on owner | Yes | ||
758 | C++11 | 20.8.2.2 [util.smartptr.shared] | shared_ptr and nullptr | Yes | ||
896 | C++11 | 20.8.2.2 [util.smartptr.shared] | Library thread safety issue | Yes | ||
541 | CD1 | 20.8.2.2 [util.smartptr.shared] | shared_ptr template assignment and void | Yes | ||
674 | CD1 | 20.8.2.2 [util.smartptr.shared] | shared_ptr interface changes for consistency with N1856 | Yes | ||
710 | CD1 | 20.8.2.2 [util.smartptr.shared] | Missing postconditions | Yes | ||
813 | CD1 | 20.8.2.2 [util.smartptr.shared] | "empty" undefined for shared_ptr | Yes | ||
881 | C++11 | 20.8.2.2.1 [util.smartptr.shared.const] | shared_ptr conversion issue | Yes | ||
925 | C++11 | 20.8.2.2.1 [util.smartptr.shared.const] | shared_ptr's explicit conversion from unique_ptr | Yes | ||
687 | CD1 | 20.8.2.2.1 [util.smartptr.shared.const] | shared_ptr conversion constructor not constrained | Yes | ||
827 | Resolved | 20.8.2.2.1 [util.smartptr.shared.const] | constexpr shared_ptr::shared_ptr()? | Yes | ||
1407 | Resolved | 20.8.2.2.1 [util.smartptr.shared.const] | Synch shared_ptr constructors taking movable types | Yes | ||
899 | C++11 | 20.8.2.2.2 [util.smartptr.shared.dest] | Adjusting shared_ptr for nullptr_t | Yes | ||
575 | CD1 | 20.8.2.2.2 [util.smartptr.shared.dest] | the specification of ~shared_ptr is MT-unfriendly, makes implementation assumptions | Yes | ||
884 | Resolved | 20.8.2.2.4 [util.smartptr.shared.mod] | shared_ptr swap | Yes | ||
2337 | New | 20.8.2.2.5 [util.smartptr.shared.obs] | shared_ptr operator*() should not be noexcept | Yes | 2 | |
711 | C++11 | 20.8.2.2.5 [util.smartptr.shared.obs] | Contradiction in empty shared_ptr | Yes | ||
540 | CD1 | 20.8.2.2.5 [util.smartptr.shared.obs] | shared_ptr<void>::operator*() | Yes | ||
542 | CD1 | 20.8.2.2.5 [util.smartptr.shared.obs] | shared_ptr observers | Yes | ||
2070 | Open | 20.8.2.2.6 [util.smartptr.shared.create] | allocate_shared should use allocator_traits<A>::construct | Yes | 2 | |
1262 | C++11 | 20.8.2.2.7 [util.smartptr.shared.cmp] | std::less<std::shared_ptr<T>> is underspecified | Yes | ||
743 | CD1 | 20.8.2.2.8 [util.smartptr.shared.spec] | rvalue swap for shared_ptr | Yes | ||
533 | CD1 | 20.8.2.2.10 [util.smartptr.getdeleter] | typo in 2.2.3.10/1 | Yes | ||
545 | CD1 | 20.8.2.2.10 [util.smartptr.getdeleter] | When is a deleter deleted? | Yes | ||
741 | NAD | 20.8.2.2.10 [util.smartptr.getdeleter] | Const-incorrect get_deleter function for shared_ptr | Yes | ||
2315 | C++14 | 20.8.2.3 [util.smartptr.weak] | weak_ptr should be movable | Yes | 2 | |
2083 | C++14 | 20.8.2.3 [util.smartptr.weak] | const-qualification on weak_ptr::owner_before | Yes | ||
1256 | C++11 | 20.8.2.3 [util.smartptr.weak] | weak_ptr comparison functions should be removed | Yes | ||
2316 | C++14 | 20.8.2.3.5 [util.smartptr.weak.obs] | weak_ptr::lock() should be atomic | Yes | 0 | |
1231 | C++11 | 20.8.2.3.5 [util.smartptr.weak.obs] | weak_ptr comparisons incompletely resolved | Yes | ||
949 | C++11 | 20.8.2.4 [util.smartptr.ownerless] | owner_less | Yes | ||
2179 | Open | 20.8.2.5 [util.smartptr.enab] | enable_shared_from_this and construction from raw pointers | No | 3 | |
2172 | C++14 | 20.8.2.6 [util.smartptr.shared.atomic] | Does atomic_compare_exchange_* accept v == nullptr arguments? | Yes | ||
1030 | C++11 | 20.8.2.6 [util.smartptr.shared.atomic] | Missing requirements for smart-pointer safety API | Yes | ||
2048 | C++14 | 20.9 [function.objects] | Unnecessary mem_fn overloads | Yes | ||
2149 | C++14 | 20.9 [function.objects] | Concerns about 20.8/5 | Yes | ||
185 | CD1 | 20.9 [function.objects] | Questionable use of term "inline" | Yes | ||
660 | CD1 | 20.9 [function.objects] | Missing Bitwise Operations | Yes | ||
658 | Resolved | 20.9 [function.objects] | Two unspecified function comparators in [function.objects] | Yes | ||
1290 | Resolved | 20.9 [function.objects] | Don't require [u|bi]nary_function inheritance | Yes | ||
1397 | Resolved | 20.9 [function.objects] | Deprecate '98 binders | Yes | ||
351 | NAD Editorial | 20.9 [function.objects] | unary_negate and binary_negate: struct or class? | Yes | ||
1398 | NAD | 20.9 [function.objects] | Users should be able to specialize functors without depending on whole <functional> header | Yes | ||
2387 | New | 20.9.2 [func.require] | More nested types that must be accessible and unambiguous | No | ||
2219 | Open | 20.9.2 [func.require] | INVOKE-ing a pointer to member with a reference_wrapper as the object expression | Yes | 2 | |
1294 | C++11 | 20.9.2 [func.require] | Difference between callable wrapper and forwarding call wrapper unclear | Yes | ||
1295 | C++11 | 20.9.2 [func.require] | Contradictory call wrapper requirements | Yes | ||
1520 | C++11 | 20.9.2 [func.require] | INVOKE on member data pointer with too many arguments | Yes | ||
987 | C++11 | 20.9.3 [refwrap] | reference_wrapper and function types | Yes | ||
2017 | C++11 | 20.9.3 [refwrap] | std::reference_wrapper makes incorrect usage of std::result_of | Yes | ||
2022 | C++11 | 20.9.3 [refwrap] | reference_wrapper<T>::result_type is underspecified | Yes | ||
521 | CD1 | 20.9.3 [refwrap] | Garbled requirements for argument_type in reference_wrapper | Yes | ||
688 | C++11 | 20.9.3.1 [refwrap.const] | reference_wrapper, cref unsafe, allow binding to rvalues | Yes | ||
689 | CD1 | 20.9.3.1 [refwrap.const] | reference_wrapper constructor overly constrained | Yes | ||
284 | CD1 | 20.9.5 [comparisons] | unportable example in 20.3.7, p6 | Yes | ||
297 | CD1 | 20.9.6 [logical.operations] | const_mem_fun_t<>::argument_type should be const T* | Yes | ||
1076 | NAD Concepts | 20.9.8 [negators] | unary/binary_negate need constraining and move support | Yes | ||
520 | CD1 | 20.9.9.1 [func.bind] | Result_of and pointers to data members | Yes | ||
2010 | C++14 | 20.9.9.1.1 [func.bind.isbind] | is_* traits for binding operations can't be meaningfully specialized | Yes | ||
1071 | C++11 | 20.9.9.1.1 [func.bind.isbind] | is_bind_expression should derive from integral_constant<bool> | Yes | ||
2021 | C++14 | 20.9.9.1.3 [func.bind.bind] | Further incorrect usages of result_of | Yes | ||
817 | C++11 | 20.9.9.1.3 [func.bind.bind] | bind needs to be moved | Yes | ||
527 | CD1 | 20.9.9.1.3 [func.bind.bind] | tr1::bind has lost its Throws clause | Yes | ||
816 | Resolved | 20.9.9.1.3 [func.bind.bind] | Should bind()'s returned functor have a nofail copy ctor when bind() is nofail? | Yes | ||
920 | C++11 | 20.9.10 [func.memfn] | Ref-qualification support in the library | Yes | 1230 | |
1230 | Dup | 20.9.10 [func.memfn] | mem_fn and variadic templates | Yes | 920 | |
770 | CD1 | 20.9.11 [func.wrap] | std::function should use rvalue swap | Yes | ||
2233 | Tentatively Ready | 20.9.11.1 [func.wrap.badcall] | bad_function_call::what() unhelpful | Yes | 3 | |
2385 | New | 20.9.11.2 [func.wrap.func] | function::assign allocator argument doesn't make sense | Yes | ||
2370 | New | 20.9.11.2 [func.wrap.func] | Operations involving type-erased allocators should not be noexcept in std::function | Yes | ||
2062 | Open | 20.9.11.2 [func.wrap.func] | Effect contradictions w/o no-throw guarantee of std::function swaps | No | 2 | |
1070 | C++11 | 20.9.11.2 [func.wrap.func] | Ambiguous move overloads in function | Yes | ||
1240 | C++11 | 20.9.11.2 [func.wrap.func] | Deleted comparison functions of std::function not needed | Yes | ||
1399 | C++11 | 20.9.11.2 [func.wrap.func] | function does not need an explicit default constructor | Yes | ||
769 | CD1 | 20.9.11.2 [func.wrap.func] | std::function should use nullptr_t instead of "unspecified-null-pointer-type" | Yes | ||
1023 | NAD Editorial | 20.9.11.2 [func.wrap.func] | Unclear inheritance relation for std::function | Yes | ||
644 | NAD | 20.9.11.2 [func.wrap.func] | Possible typos in 'function' description | Yes | ||
1024 | NAD Concepts | 20.9.11.2 [func.wrap.func] | std::function constructors overly generous | Yes | ||
1059 | NAD Concepts | 20.9.11.2 [func.wrap.func] | Usage of no longer existing FunctionType concept | Yes | ||
2386 | New | 20.9.11.2.1 [func.wrap.func.con] | function::operator= handles allocators incorrectly | Yes | ||
2132 | C++14 | 20.9.11.2.1 [func.wrap.func.con] | std::function ambiguity | Yes | 2 | |
1287 | C++11 | 20.9.11.2.1 [func.wrap.func.con] | std::function requires CopyConstructible target object | Yes | ||
1288 | C++11 | 20.9.11.2.1 [func.wrap.func.con] | std::function assignment from rvalues | Yes | ||
1292 | C++11 | 20.9.11.2.1 [func.wrap.func.con] | std::function should support all callable types | Yes | ||
1400 | C++11 | 20.9.11.2.1 [func.wrap.func.con] | FCD function does not need an explicit default constructor | Yes | ||
610 | CD1 | 20.9.11.2.1 [func.wrap.func.con] | Suggested non-normative note for C++0x | Yes | ||
1258 | Resolved | 20.9.11.2.2 [func.wrap.func.mod] | std::function Effects clause impossible to satisfy | Yes | ||
1333 | C++11 | 20.9.11.2.4 [func.wrap.func.inv] | Missing forwarding during std::function invocation | Yes | ||
815 | Resolved | 20.9.11.2.4 [func.wrap.func.inv] | std::function and reference_closure do not use perfect forwarding | Yes | ||
633 | NAD Editorial | 20.9.11.2.5 [func.wrap.func.targ] | Return clause mentions undefined "type()" | Yes | ||
2119 | Open | 20.9.12 [unord.hash] | Missing hash specializations for extended integer types | Yes | 3 | |
1025 | NAD Future | 20.9.12 [unord.hash] | The library should provide more specializations for std::hash | Yes | ||
1317 | NAD Future | 20.9.12 [unord.hash] | make_hash | Yes | ||
2148 | C++14 | 20.9.12 [unord.hash] | Hashing enums should be supported directly by std::hash | Yes | ||
978 | C++11 | 20.9.12 [unord.hash] | Hashing smart pointers | Yes | ||
1182 | C++11 | 20.9.12 [unord.hash] | Unfortunate hash dependencies | Yes | ||
1245 | C++11 | 20.9.12 [unord.hash] | std::hash<string> & co | Yes | ||
848 | CD1 | 20.9.12 [unord.hash] | Missing std::hash specializations for std::bitset/std::vector<bool> | Yes | ||
1072 | NAD Concepts | 20.9.12 [unord.hash] | Is std::hash a constrained template or not? | Yes | ||
2290 | New | 20.10 [meta] | Top-level "SFINAE"-based constraints should get a separate definition in Clause 17 | Yes | 3 | |
1120 | NAD Future | 20.10 [meta] | New type trait - remove_all | Yes | ||
2040 | NAD Future | 20.10 [meta] | Missing type traits related to is_convertible | Yes | ||
1114 | C++11 | 20.10 [meta] | Type traits underspecified | Yes | ||
719 | Resolved | 20.10 [meta] | std::is_literal type traits should be provided | Yes | 750 | |
1390 | Resolved | 20.10 [meta] | Limit speculative compilation for constructible/convertible traits | Yes | ||
1391 | Resolved | 20.10 [meta] | constructible/convertible traits and access control | Yes | ||
590 | NAD Editorial | 20.10 [meta] | Type traits implementation latitude should be removed for C++0x | Yes | ||
1018 | NAD Concepts | 20.10 [meta] | Trait specifications should be expressed in terms of concepts | Yes | ||
2371 | New | 20.10.2 [meta.type.synop] | No template aliases defined for new type traits | Yes | ||
2346 | C++14 | 20.10.3 [meta.help] | integral_constant's member functions should be marked noexcept | Yes | 0 | |
1019 | C++11 | 20.10.3 [meta.help] | Make integral_constant objects useable in integral-constant-expressions | Yes | ||
1202 | NAD | 20.10.3 [meta.help] | integral_constant needs a spring clean | Yes | ||
1092 | NAD Concepts | 20.10.3 [meta.help] | Class template integral_constant should be a constrained template | Yes | ||
2015 | C++14 | 20.10.4 [meta.unary] | Incorrect pre-conditions for some type traits | Yes | ||
525 | Resolved | 20.10.4 [meta.unary] | type traits definitions not clear | Yes | ||
1392 | Resolved | 20.10.4 [meta.unary] | result_of should support pointer-to-data-member | Yes | ||
2247 | C++14 | 20.10.4.1 [meta.unary.cat] | Type traits and std::nullptr_t | Yes | ||
2367 | New | 20.10.4.3 [meta.unary.prop] | pair and tuple are not correctly implemented for is_constructible with no args | Yes | ||
2336 | New | 20.10.4.3 [meta.unary.prop] | is_trivially_constructible/is_trivially_assignable traits are always false | Yes | 3 | |
2358 | New | 20.10.4.3 [meta.unary.prop] | Apparently-bogus definition of is_empty type trait | No | 3 | |
2077 | Open | 20.10.4.3 [meta.unary.prop] | Further incomplete constraints for type traits | No | 3 | |
2116 | Open | 20.10.4.3 [meta.unary.prop] | std::swap noexcept(what?) | No | 3 | |
2049 | C++14 | 20.10.4.3 [meta.unary.prop] | is_destructible is underspecified | Yes | ||
2196 | C++14 | 20.10.4.3 [meta.unary.prop] | Specification of is_*[copy/move]_[constructible/assignable] unclear for non-referencable types | Yes | ||
2197 | C++14 | 20.10.4.3 [meta.unary.prop] | Specification of is_[un]signed unclear for non-arithmetic types | Yes | ||
2298 | C++14 | 20.10.4.3 [meta.unary.prop] | [CD] is_nothrow_constructible is always false because of create<> | Yes | ||
931 | C++11 | 20.10.4.3 [meta.unary.prop] | type trait extent<T, I> | Yes | ||
1131 | C++11 | 20.10.4.3 [meta.unary.prop] | C++0x does not need alignment_of | Yes | ||
749 | CD1 | 20.10.4.3 [meta.unary.prop] | Currently has_nothrow_copy_constructor<T>::value is true if T has 'a' nothrow copy constructor. | Yes | ||
1174 | Resolved | 20.10.4.3 [meta.unary.prop] | Type property predicates | Yes | ||
1260 | Resolved | 20.10.4.3 [meta.unary.prop] | is_constructible<int*,void*> reports true | Yes | ||
1393 | Resolved | 20.10.4.3 [meta.unary.prop] | Trivial traits imply noexcept | Yes | ||
1394 | Resolved | 20.10.4.3 [meta.unary.prop] | is_constructible reports false positives | Yes | ||
1239 | NAD Editorial | 20.10.4.3 [meta.unary.prop] | Defect report | Yes | ||
747 | NAD | 20.10.4.3 [meta.unary.prop] | We have 3 separate type traits to identify classes supporting no-throw operations | Yes | ||
748 | NAD | 20.10.4.3 [meta.unary.prop] | The is_abstract type trait is defined by reference to 10.4. | Yes | ||
1228 | NAD | 20.10.4.3 [meta.unary.prop] | User-specialized nothrow type traits | Yes | ||
2317 | C++14 | 20.10.5 [meta.unary.prop.query] | The type property queries should be UnaryTypeTraits returning size_t | Yes | 0 | |
975 | C++11 | 20.10.6 [meta.rel] | is_convertible cannot be instantiated for non-convertible types | Yes | ||
1395 | NAD Editorial | 20.10.6 [meta.rel] | Inconsistent reference links should be unified | Yes | ||
750 | Dup | 20.10.6 [meta.rel] | The current definition for is_convertible requires that the type be implicitly convertible, so explicit constructors are ignored. | Yes | 719 | |
2101 | Open | 20.10.7 [meta.trans] | Some transformation types can produce impossible types | Yes | 3 | |
2141 | C++14 | 20.10.7.6 [meta.trans.other] | common_type trait produces reference types | Yes | ||
1187 | C++11 | 20.10.7.6 [meta.trans.other] | std::decay | Yes | ||
705 | CD1 | 20.10.7.6 [meta.trans.other] | type-trait decay incompletely specified | Yes | ||
856 | CD1 | 20.10.7.6 [meta.trans.other] | Removal of aligned_union | Yes | ||
1055 | Resolved | 20.10.7.6 [meta.trans.other] | Provide a trait that returns the underlying type of an enumeration type | Yes | ||
849 | NAD | 20.10.7.6 [meta.trans.other] | missing type traits to compute root class and derived class of types in a class hierachy | Yes | ||
1020 | NAD | 20.10.7.6 [meta.trans.other] | Restore aligned_union | Yes | ||
921 | C++11 | 20.11.3 [ratio.ratio] | Rational Arithmetic should use template aliases | Yes | ||
1388 | C++11 | 20.11.3 [ratio.ratio] | LWG 1281 incorrectly accepted | Yes | ||
1122 | Resolved | 20.11.3 [ratio.ratio] | Ratio values should be constexpr | Yes | ||
1281 | Resolved | 20.11.3 [ratio.ratio] | CopyConstruction and Assignment between ratios having the same normalized form | Yes | ||
1121 | NAD Future | 20.11.4 [ratio.arithmetic] | Support for multiple arguments | Yes | ||
948 | C++11 | 20.11.4 [ratio.arithmetic] | ratio arithmetic tweak | Yes | ||
1389 | Resolved | 20.11.4 [ratio.arithmetic] | Compile-time rational arithmetic and overflow | Yes | ||
786 | Resolved | 20.12 [time] | Thread library timed waits, UTC and monotonic clocks | Yes | ||
1032 | NAD Concepts | 20.12 [time] | Tome utility templates need to be concept-constrained | Yes | ||
2278 | C++14 | 20.12.2 [time.syn] | User-defined literals for Standard Library types | Yes | ||
954 | C++11 | 20.12.3 [time.clock.req] | Various threading bugs #4 | Yes | ||
956 | C++11 | 20.12.3 [time.clock.req] | Various threading bugs #6 | Yes | ||
953 | Resolved | 20.12.3 [time.clock.req] | Various threading bugs #3 | Yes | ||
955 | NAD | 20.12.3 [time.clock.req] | Various threading bugs #5 | Yes | ||
951 | C++11 | 20.12.4.1 [time.traits.is_fp] | Various threading bugs #1 | Yes | ||
934 | C++11 | 20.12.5 [time.duration] | duration is missing operator% | Yes | ||
1171 | C++11 | 20.12.5 [time.duration] | duration types should be literal | Yes | ||
1177 | C++11 | 20.12.5 [time.duration] | Improve "diagnostic required" wording | Yes | ||
2094 | C++14 | 20.12.5.1 [time.duration.cons] | duration conversion overflow shouldn't participate in overload resolution | Yes | ||
974 | C++11 | 20.12.5.1 [time.duration.cons] | duration<double> should not implicitly convert to duration<int> | Yes | ||
1271 | C++11 | 20.12.5.5 [time.duration.nonmember] | CR undefined in duration operators | Yes | ||
2004 | C++11 | 20.12.5.5 [time.duration.nonmember] | duration::operator* has template parameters in funny order | Yes | ||
2020 | C++11 | 20.12.5.5 [time.duration.nonmember] | Time utility arithmetic constexpr functions have invalid effects | Yes | ||
882 | CD1 | 20.12.5.5 [time.duration.nonmember] | duration non-member arithmetic requirements | Yes | ||
947 | Resolved | 20.12.5.5 [time.duration.nonmember] | duration arithmetic: contradictory requirements | Yes | ||
952 | NAD Editorial | 20.12.5.7 [time.duration.cast] | Various threading bugs #2 | Yes | ||
946 | NAD | 20.12.5.7 [time.duration.cast] | duration_cast improperly specified | Yes | ||
2383 | New | 20.12.5.8 [time.duration.literals] | Overflow cannot be ill-formed for chrono::duration integer literals | No | ||
2054 | Resolved | 20.12.6 [time.point] | time_point constructors need to be constexpr | Yes | ||
2057 | Resolved | 20.12.6.5 [time.point.nonmember] | time_point + duration semantics should be made constexpr conforming | Yes | ||
935 | NAD Future | 20.12.7 [time.clock] | clock error handling needs to be specified | Yes | ||
957 | C++11 | 20.12.7.1 [time.clock.system] | Various threading bugs #7 | Yes | ||
945 | NAD Editorial | 20.12.7.1 [time.clock.system] | system_clock::rep not specified | Yes | ||
1413 | NAD | 20.12.7.3 [time.clock.hires] | Specify whether high_resolution_clock is a distinct type or a typedef | Yes | ||
1316 | C++11 | 20.13 [allocator.adaptor] | scoped_allocator_adaptor operator== has no definition | Yes | ||
1405 | Resolved | 20.13 [allocator.adaptor] | Move scoped_allocator_adaptor into separate header | Yes | ||
2203 | C++14 | 20.13.4 [allocator.adaptor.members] | scoped_allocator_adaptor uses wrong argument types for piecewise construction | Yes | ||
1321 | Resolved | 20.13.4 [allocator.adaptor.members] | scoped_allocator_adaptor construct and destroy don't use allocator_traits | Yes | ||
2144 | C++14 | 20.14 [type.index] | Missing noexcept specification in type_index | Yes | ||
1078 | NAD Concepts | 20.14 [type.index] | DE-17: Remove class type_index | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
7 | TC1 | 21 [strings] | String clause minor problems | Yes | ||
85 | NAD | 21 [strings] | String char types | Yes | ||
1081 | NAD Concepts | 21 [strings] | basic_string needs to be a concept-constrained template | Yes | ||
1170 | C++11 | 21.1 [strings.general] | String char-like types no longer PODs | Yes | ||
830 | NAD Editorial | 21.2 [char.traits] | Incomplete list of char_traits specializations | Yes | ||
570 | NAD | 21.2 [char.traits] | Request adding additional explicit specializations of char_traits | Yes | ||
335 | CD1 | 21.2.1 [char.traits.require] | minor issue with char_traits, table 37 | Yes | ||
352 | CD1 | 21.2.2 [char.traits.typedefs] | missing fpos requirements | Yes | ||
1200 | NAD | 21.2.2 [char.traits.typedefs] | "surprising" char_traits<T>::int_type requirements | Yes | ||
2232 | NAD Future | 21.2.3 [char.traits.specializations] | [CD] The char_traits specializations should declare their length(), compare(), and find() members constexpr | Yes | ||
709 | CD1 | 21.2.3 [char.traits.specializations] | char_traits::not_eof has wrong signature | Yes | ||
831 | NAD Editorial | 21.2.3 [char.traits.specializations] | wrong type for not_eof() | Yes | ||
467 | CD1 | 21.2.3.1 [char.traits.specializations.char] | char_traits::lt(), compare(), and memcmp() | Yes | ||
1414 | C++11 | 21.2.3.2 [char.traits.specializations.char16_t] | Fixing remaining dead links to POS_T and OFF_T | Yes | 1444 | |
57 | TC1 | 21.2.3.4 [char.traits.specializations.wchar.t] | Mistake in char_traits | Yes | ||
2372 | New | 21.4 [basic.string] | Assignment from int to std::string | Yes | ||
2318 | New | 21.4 [basic.string] | basic_string's wording has confusing relics from the copy-on-write era | No | 4 | |
2063 | Open | 21.4 [basic.string] | Contradictory requirements for string move assignment | No | 3 | |
2268 | C++14 | 21.4 [basic.string] | Setting a default argument in the declaration of a member function assign of std::basic_string | Yes | ||
2064 | C++14 | 21.4 [basic.string] | More noexcept issues in basic_string | Yes | ||
876 | C++11 | 21.4 [basic.string] | basic_string access operations should give stronger guarantees | Yes | ||
180 | CD1 | 21.4 [basic.string] | Container member iterator arguments constness has unintended consequences | Yes | ||
263 | CD1 | 21.4 [basic.string] | Severe restriction on basic_string reference counting | Yes | ||
530 | CD1 | 21.4 [basic.string] | Must elements of a string be contiguous? | Yes | ||
534 | CD1 | 21.4 [basic.string] | Missing basic_string members | Yes | ||
42 | TC1 | 21.4 [basic.string] | String ctors specify wrong default allocator | Yes | ||
83 | TC1 | 21.4 [basic.string] | String::npos vs. string::max_size() | Yes | 89 | |
209 | TC1 | 21.4 [basic.string] | basic_string declarations inconsistent | Yes | ||
718 | NAD Editorial | 21.4 [basic.string] | basic_string is not a sequence | Yes | ||
4 | NAD | 21.4 [basic.string] | Basic_string size_type and difference_type should be implementation defined | Yes | ||
614 | NAD | 21.4 [basic.string] | std::string allocator requirements still inconsistent | Yes | ||
2084 | NAD | 21.4 [basic.string] | basic_string use of charT* | Yes | ||
2151 | Open | 21.4.1 [string.require] | basic_string<>::swap semantics ignore allocators | No | 3 | |
2003 | C++14 | 21.4.1 [string.require] | String exception inconsistency in erase. | Yes | 0 | |
847 | C++11 | 21.4.1 [string.require] | string exception safety guarantees | Yes | ||
301 | CD1 | 21.4.1 [string.require] | basic_string template ctor effects clause omits allocator argument | Yes | ||
86 | TC1 | 21.4.1 [string.require] | String constructors don't describe exceptions | Yes | ||
466 | NAD | 21.4.1 [string.require] | basic_string ctor should prevent null pointer error | Yes | ||
2319 | Ready | 21.4.2 [string.cons] | basic_string's move constructor should not be noexcept | Yes | 1 | |
2069 | C++14 | 21.4.2 [string.cons] | Inconsistent exception spec for basic_string move constructor | Yes | ||
2235 | C++14 | 21.4.2 [string.cons] | Undefined behavior without proper requirements on basic_string constructors | Yes | ||
1192 | C++11 | 21.4.3 [string.iterators] | basic_string missing definitions for cbegin / cend / crbegin / crend | Yes | ||
259 | CD1 | 21.4.4 [string.capacity] | basic_string::operator[] and const correctness | Yes | ||
104 | NAD | 21.4.4 [string.capacity] | Description of basic_string::operator[] is unclear | Yes | ||
2207 | C++14 | 21.4.5 [string.access] | basic_string::at should not have a Requires clause | Yes | ||
84 | NAD | 21.4.5 [string.access] | Ambiguity with string::insert() | Yes | ||
141 | TC1 | 21.4.6.4 [string::insert] | basic_string::find_last_of, find_last_not_of say pos instead of xpos | Yes | ||
88 | NAD | 21.4.6.4 [string::insert] | Inconsistency between string::insert() and string::append() | Yes | ||
377 | NAD | 21.4.6.4 [string::insert] | basic_string::insert and length_error | Yes | ||
89 | Dup | 21.4.6.4 [string::insert] | Missing throw specification for string::insert() and string::replace() | Yes | 83 | |
428 | CD1 | 21.4.6.5 [string::erase] | string::erase(iterator) validity | Yes | ||
27 | TC1 | 21.4.6.5 [string::erase] | String::erase(range) yields wrong iterator | Yes | ||
1323 | C++11 | 21.4.6.6 [string::replace] | basic_string::replace should use const_iterator | Yes | ||
368 | NAD Editorial | 21.4.6.6 [string::replace] | basic_string::replace has two "Throws" paragraphs | Yes | ||
403 | CD1 | 21.4.6.8 [string::swap] | basic_string::swap should not throw exceptions | Yes | ||
535 | CD1 | 21.4.6.8 [string::swap] | std::string::swap specification poorly worded | Yes | ||
5 | TC1 | 21.4.6.8 [string::swap] | String::compare specification questionable | Yes | 87 | |
87 | Dup | 21.4.6.8 [string::swap] | Error in description of string::compare() | Yes | 5 | |
1138 | C++11 | 21.4.8.1 [string::op+] | Unusual return value for operator+ | Yes | ||
2011 | C++14 | 21.4.8.9 [string.io] | Unexpected output required of strings | Yes | ||
435 | CD1 | 21.4.8.9 [string.io] | bug in DR 25 | Yes | ||
91 | CD1 | 21.4.8.9 [string.io] | Description of operator>> and getline() for string<> might cause endless loop | Yes | ||
586 | CD1 | 21.4.8.9 [string.io] | string inserter not a formatted function | Yes | ||
824 | CD1 | 21.4.8.9 [string.io] | rvalue ref issue with basic_string inserter | Yes | ||
25 | TC1 | 21.4.8.9 [string.io] | String operator<< uses width() value wrong | Yes | 67 | |
90 | TC1 | 21.4.8.9 [string.io] | Incorrect description of operator >> for strings | Yes | ||
211 | TC1 | 21.4.8.9 [string.io] | operator>>(istream&, string&) doesn't set failbit | Yes | ||
67 | Dup | 21.4.8.9 [string.io] | Setw useless for strings | Yes | 25 | |
2009 | C++14 | 21.5 [string.conversions] | Reporting out-of-bound values on numeric string conversions | Yes | ||
1261 | C++11 | 21.5 [string.conversions] | Insufficent overloads for to_string / to_wstring | Yes | ||
771 | CD1 | 21.5 [string.conversions] | Impossible throws clause in [string.conversions] | Yes | ||
772 | CD1 | 21.5 [string.conversions] | Impossible return clause in [string.conversions] | Yes | ||
2270 | NAD | 21.5 [string.conversions] | Inconsistent to_string overloads | Yes | ||
2355 | NAD | 21.7 [basic.string.literals] | "s" UDL suffix should be reserved for a compile-time string library type | Yes | 1 | |
2237 | New | 21.8 [c.strings] | <cuchar> macros | No | 4 | |
2238 | New | 21.8 [c.strings] | Problematic iterator-pair constructor of containers | No | 3 | |
345 | CD1 | 21.8 [c.strings] | type tm in <cwchar> | Yes | ||
615 | NAD Editorial | 21.8 [c.strings] | Inconsistencies in Section 21.4 | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
708 | NAD Future | 22 [localization] | Locales need to be per thread and updated for POSIX changes | Yes | ||
317 | CD1 | 22 [localization] | Instantiation vs. specialization of facets | Yes | ||
495 | CD1 | 22 [localization] | Clause 22 template parameter requirements | Yes | ||
1082 | NAD Concepts | 22 [localization] | codecvt needs to be a concept-constrained template | Yes | ||
1083 | NAD Concepts | 22 [localization] | InputIterator and OutputIterator template parameters need to be concept constraints | Yes | ||
1298 | C++11 | 22.2 [locale.syn] | Missing specialization of ctype_byname<char> | Yes | ||
268 | CD1 | 22.3.1 [locale] | Typo in locale synopsis | Yes | ||
360 | CD1 | 22.3.1 [locale] | locale mandates inefficient implementation | Yes | ||
31 | TC1 | 22.3.1 [locale] | Immutable locale values | Yes | 378 | |
37 | TC1 | 22.3.1 [locale] | Leftover "global" reference | Yes | ||
137 | TC1 | 22.3.1 [locale] | Do use_facet and has_facet look in the global locale? | Yes | ||
330 | NAD | 22.3.1 [locale] | Misleading "exposition only" value in class locale definition | Yes | ||
378 | Dup | 22.3.1 [locale] | locale immutability and locale::operator=() | Yes | 31 | |
327 | CD1 | 22.3.1.1.1 [locale.category] | Typo in time_get facet in table 52 | Yes | 447 | |
340 | CD1 | 22.3.1.1.1 [locale.category] | interpretation of has_facet<Facet>(loc) | Yes | ||
347 | CD1 | 22.3.1.1.1 [locale.category] | locale::category and bitmask requirements | Yes | ||
21 | TC1 | 22.3.1.1.1 [locale.category] | Codecvt_byname<> instantiations | Yes | ||
30 | TC1 | 22.3.1.1.1 [locale.category] | Wrong header for LC_* | Yes | ||
121 | NAD | 22.3.1.1.1 [locale.category] | Detailed definition for ctype<wchar_t> specialization | Yes | ||
502 | NAD | 22.3.1.1.1 [locale.category] | Proposition: Clarification of the interaction between a facet and an iterator | Yes | ||
447 | Dup | 22.3.1.1.1 [locale.category] | Wrong template argument for time facets | Yes | 327 | |
436 | CD1 | 22.3.1.1.2 [locale.facet] | are cv-qualified facet types valid facets? | Yes | ||
2295 | New | 22.3.1.2 [locale.cons] | Locale name when the provided Facet is a nullptr | No | 3 | |
14 | TC1 | 22.3.1.3 [locale.members] | Locale::combine should be const | Yes | ||
15 | TC1 | 22.3.1.3 [locale.members] | Locale::name requirement inconsistent | Yes | ||
452 | NAD | 22.3.1.3 [locale.members] | locale::combine should be permitted to generate a named locale | Yes | ||
8 | TC1 | 22.3.1.5 [locale.statics] | Locale::global lacks guarantee | Yes | ||
38 | TC1 | 22.3.2 [locale.global.templates] | Facet definition incomplete | Yes | ||
2019 | C++11 | 22.3.3.1 [classification] | isblank not supported by std::locale | Yes | ||
391 | CD1 | 22.3.3.2 [conversions] | non-member functions specified as const | Yes | ||
2226 | NAD Future | 22.3.3.2.2 [conversions.string] | wstring_convert methods do not take allocator instance | Yes | ||
2174 | C++14 | 22.3.3.2.2 [conversions.string] | wstring_convert::converted() should be noexcept | Yes | ||
2175 | C++14 | 22.3.3.2.2 [conversions.string] | wstring_convert and wbuffer_convert validity | Yes | ||
2176 | C++14 | 22.3.3.2.2 [conversions.string] | Special members for wstring_convert and wbuffer_convert | Yes | ||
991 | C++11 | 22.3.3.2.2 [conversions.string] | Provide allocator for wstring_convert | Yes | ||
721 | NAD | 22.3.3.2.2 [conversions.string] | wstring_convert inconsistensies | Yes | ||
1252 | C++11 | 22.3.3.2.3 [conversions.buffer] | wbuffer_convert::state_type inconsistency | Yes | ||
228 | CD1 | 22.4 [locale.categories] | Incorrect specification of "..._byname" facets | Yes | ||
338 | CD1 | 22.4 [locale.categories] | is whitespace allowed between `-' and a digit? | Yes | ||
439 | NAD | 22.4 [locale.categories] | Should facets be copyable? | Yes | ||
503 | NAD | 22.4 [locale.categories] | more on locales | Yes | ||
585 | NAD | 22.4 [locale.categories] | facet error reporting | Yes | ||
339 | CD1 | 22.4.1 [category.ctype] | definition of bitmask type restricted to clause 27 | Yes | ||
356 | NAD | 22.4.1 [category.ctype] | Meaning of ctype_base::mask enumerators | Yes | ||
473 | C++11 | 22.4.1.1 [locale.ctype] | underspecified ctype calls | Yes | ||
379 | CD1 | 22.4.1.1.2 [locale.ctype.virtuals] | nonsensical ctype::do_widen() requirement | Yes | ||
126 | TC1 | 22.4.1.1.2 [locale.ctype.virtuals] | typos in Effects clause of ctype::do_narrow() | Yes | ||
152 | TC1 | 22.4.1.1.2 [locale.ctype.virtuals] | Typo in scan_is() semantics | Yes | ||
417 | NAD | 22.4.1.1.2 [locale.ctype.virtuals] | what does ctype::do_widen() return on failure | Yes | ||
616 | CD1 | 22.4.1.2 [locale.ctype.byname] | missing 'typename' in ctype_byname | Yes | ||
124 | TC1 | 22.4.1.2 [locale.ctype.byname] | ctype_byname<charT>::do_scan_is & do_scan_not return type should be const charT* | Yes | ||
695 | CD1 | 22.4.1.3 [facet.ctype.special] | ctype<char>::classic_table() not accessible | Yes | ||
153 | CD1 | 22.4.1.3.2 [facet.ctype.char.members] | Typo in narrow() semantics | Yes | 207 | |
28 | TC1 | 22.4.1.3.2 [facet.ctype.char.members] | Ctype<char>is ambiguous | Yes | 236 | |
207 | Dup | 22.4.1.3.2 [facet.ctype.char.members] | ctype<char> members return clause incomplete | Yes | 153 | |
236 | Dup | 22.4.1.3.2 [facet.ctype.char.members] | ctype<char>::is() member modifies facet | Yes | 28 | |
76 | CD1 | 22.4.1.4 [locale.codecvt] | Can a codecvt facet always convert one internal character at a time? | Yes | ||
16 | TC1 | 22.4.1.4 [locale.codecvt] | Bad ctype_byname<char> decl | Yes | ||
19 | TC1 | 22.4.1.4 [locale.codecvt] | "Noconv" definition too vague | Yes | 10 | |
24 | TC1 | 22.4.1.4 [locale.codecvt] | "do_convert" doesn't exist | Yes | 72 | |
33 | TC1 | 22.4.1.4 [locale.codecvt] | Codecvt<> mentions from_type | Yes | 43 | |
74 | TC1 | 22.4.1.4 [locale.codecvt] | Garbled text for codecvt::do_max_length | Yes | ||
75 | TC1 | 22.4.1.4 [locale.codecvt] | Contradiction in codecvt::length's argument types | Yes | ||
382 | NAD | 22.4.1.4 [locale.codecvt] | codecvt do_in/out result | Yes | ||
138 | NAD | 22.4.1.4 [locale.codecvt] | Class ctype_byname<char> redundant and misleading | Yes | ||
72 | Dup | 22.4.1.4 [locale.codecvt] | Do_convert phantom member function | Yes | 24 | |
664 | CD1 | 22.4.1.4.2 [locale.codecvt.virtuals] | do_unshift for codecvt<char, char, mbstate_t> | Yes | ||
665 | CD1 | 22.4.1.4.2 [locale.codecvt.virtuals] | do_unshift return value | Yes | ||
393 | NAD Editorial | 22.4.1.4.2 [locale.codecvt.virtuals] | do_in/do_out operation on state unclear | Yes | ||
380 | CD1 | 22.4.1.5 [locale.codecvt.byname] | typos in codecvt tables 53 and 54 | Yes | ||
381 | CD1 | 22.4.1.5 [locale.codecvt.byname] | detection of invalid mbstate_t in codecvt | Yes | ||
305 | CD1 | 22.4.1.5 [locale.codecvt.byname] | Default behavior of codecvt<wchar_t, char, mbstate_t>::length() | Yes | ||
302 | NAD | 22.4.1.5 [locale.codecvt.byname] | Need error indication from codecvt<>::do_length | Yes | ||
500 | NAD | 22.4.1.5 [locale.codecvt.byname] | do_length cannot be implemented correctly | Yes | ||
10 | Dup | 22.4.1.5 [locale.codecvt.byname] | Codecvt<>::do unclear | Yes | 19 | |
43 | Dup | 22.4.1.5 [locale.codecvt.byname] | Locale table correction | Yes | 33 | |
344 | NAD | 22.4.2 [category.numeric] | grouping + showbase | Yes | ||
275 | CD1 | 22.4.2.1.1 [facet.num.get.members] | Wrong type in num_get::get() overloads | Yes | ||
18 | TC1 | 22.4.2.1.1 [facet.num.get.members] | Get(...bool&) omitted | Yes | ||
2381 | New | 22.4.2.1.2 [facet.num.get.virtuals] | Inconsistency in parsing floating point numbers | No | ||
1169 | Open | 22.4.2.1.2 [facet.num.get.virtuals] | num_get not fully compatible with strto* | Yes | 3 | |
427 | C++11 | 22.4.2.1.2 [facet.num.get.virtuals] | Stage 2 and rationale of DR 221 | Yes | ||
2041 | C++11 | 22.4.2.1.2 [facet.num.get.virtuals] | Stage 2 accumulate incompatibilty | Yes | ||
23 | CD1 | 22.4.2.1.2 [facet.num.get.virtuals] | Num_get overflow result | Yes | ||
221 | CD1 | 22.4.2.1.2 [facet.num.get.virtuals] | num_get<>::do_get stage 2 processing broken | Yes | ||
321 | CD1 | 22.4.2.1.2 [facet.num.get.virtuals] | Typo in num_get | Yes | ||
358 | CD1 | 22.4.2.1.2 [facet.num.get.virtuals] | interpreting thousands_sep after a decimal_point | Yes | ||
17 | TC1 | 22.4.2.1.2 [facet.num.get.virtuals] | Bad bool parsing | Yes | ||
154 | TC1 | 22.4.2.1.2 [facet.num.get.virtuals] | Missing double specifier for do_get() | Yes | ||
459 | NAD | 22.4.2.1.2 [facet.num.get.virtuals] | Requirement for widening in stage 2 is overspecification | Yes | ||
662 | NAD | 22.4.2.1.2 [facet.num.get.virtuals] | Inconsistent handling of incorrectly-placed thousands separators | Yes | ||
826 | NAD | 22.4.2.2 [locale.nm.put] | Equivalent of %'d, or rather, lack thereof? | Yes | ||
359 | CD1 | 22.4.2.2.1 [facet.num.put.members] | num_put<>::do_put (..., bool) undocumented | Yes | ||
2117 | New | 22.4.2.2.2 [facet.num.put.virtuals] | ios_base manipulators should have showgrouping/noshowgrouping | No | 5 | |
2293 | C++14 | 22.4.2.2.2 [facet.num.put.virtuals] | Wrong facet used by num_put::do_put | Yes | 0 | |
1152 | C++11 | 22.4.2.2.2 [facet.num.put.virtuals] | Expressions parsed differently than intended | Yes | ||
671 | C++11 | 22.4.2.2.2 [facet.num.put.virtuals] | precision of hexfloat | Yes | ||
231 | CD1 | 22.4.2.2.2 [facet.num.put.virtuals] | Precision in iostream? | Yes | ||
282 | CD1 | 22.4.2.2.2 [facet.num.put.virtuals] | What types does numpunct grouping refer to? | Yes | ||
34 | TC1 | 22.4.2.2.2 [facet.num.put.virtuals] | True/falsename() not in ctype<> | Yes | ||
361 | NAD | 22.4.2.2.2 [facet.num.put.virtuals] | num_get<>::do_get (..., void*&) checks grouping | Yes | ||
20 | TC1 | 22.4.3.1.2 [facet.numpunct.virtuals] | Thousands_sep returns wrong type | Yes | ||
318 | CD1 | 22.4.3.2 [locale.numpunct.byname] | Misleading comment in definition of numpunct_byname | Yes | ||
248 | CD1 | 22.4.5 [category.time] | time_get fails to set eofbit | Yes | ||
71 | TC1 | 22.4.5.1 [locale.time.get] | Do_get_monthname synopsis missing argument | Yes | ||
461 | CD1 | 22.4.5.1.2 [locale.time.get.virtuals] | time_get hard or impossible to implement | Yes | ||
164 | TC1 | 22.4.5.3.2 [locale.time.put.virtuals] | do_put() has apparently unused fill argument | Yes | ||
836 | C++11 | 22.4.6.1.2 [locale.money.get.virtuals] |
Effects of money_base::space and
money_base::none on money_get
|
Yes | 670 | |
667 | NAD | 22.4.6.1.2 [locale.money.get.virtuals] | money_get's widened minus sign | Yes | ||
668 | NAD | 22.4.6.1.2 [locale.money.get.virtuals] | money_get's empty minus sign | Yes | ||
669 | NAD | 22.4.6.1.2 [locale.money.get.virtuals] | Equivalent postive and negative signs in money_get | Yes | ||
328 | CD1 | 22.4.6.2.2 [locale.money.put.virtuals] | Bad sprintf format modifier in money_put<>::do_put() | Yes | ||
670 | Dup | 22.4.6.3 [locale.moneypunct] | money_base::pattern and space | Yes | 836 | |
374 | NAD | 22.4.6.3.1 [locale.moneypunct.members] | moneypunct::frac_digits returns int not unsigned | Yes | ||
325 | CD1 | 22.4.6.3.2 [locale.moneypunct.virtuals] | Misleading text in moneypunct<>::do_grouping | Yes | ||
666 | CD1 | 22.4.6.3.2 [locale.moneypunct.virtuals] | moneypunct::do_curr_symbol() | Yes | ||
326 | NAD | 22.4.6.4 [locale.moneypunct.byname] | Missing typedef in moneypunct_byname | Yes | ||
2028 | C++14 | 22.4.7.1 [locale.messages] | messages_base::catalog overspecified | Yes | ||
40 | TC1 | 22.4.8 [facets.examples] | Meaningless normative paragraph in examples | Yes | ||
148 | TC1 | 22.4.8 [facets.examples] | Functions in the example facet BoolNames should be const | Yes | ||
217 | TC1 | 22.4.8 [facets.examples] | Facets example (Classifying Japanese characters) contains errors | Yes | ||
2229 | C++14 | 22.5 [locale.stdcvt] | Standard code conversion facets underspecified | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2307 | New | 23 [containers] | Should the Standard Library use explicit only when necessary? | No | 1 | |
1242 | NAD Future | 23 [containers] | Enable SCARY iterators | Yes | ||
2193 | C++14 | 23 [containers] | Default constructors for standard library containers are explicit | Yes | 1 | |
774 | C++11 | 23 [containers] | Member swap undefined for most containers | Yes | ||
868 | C++11 | 23 [containers] | Default construction and value-initialization | Yes | ||
883 | C++11 | 23 [containers] | swap circular definition | Yes | ||
767 | Resolved | 23 [containers] | Forwarding and backward compatibility | Yes | ||
97 | NAD | 23 [containers] | Insert inconsistent definition | Yes | ||
470 | NAD | 23 [containers] | accessing containers from their elements' special functions | Yes | ||
2261 | New | 23.2 [container.requirements] | Are containers required to use their 'pointer' type internally? | No | 2 | |
760 | NAD Future | 23.2 [container.requirements] | The emplace issue | Yes | ||
704 | C++11 | 23.2 [container.requirements] | MoveAssignable requirement for container value type overly strict | Yes | ||
861 | C++11 | 23.2 [container.requirements] | Incomplete specification of EqualityComparable for std::forward_list | Yes | ||
1416 | C++11 | 23.2 [container.requirements] | forward_list::erase_after should not be allowed to throw | Yes | ||
179 | CD1 | 23.2 [container.requirements] | Comparison of const_iterators to iterators doesn't work | Yes | ||
276 | CD1 | 23.2 [container.requirements] | Assignable requirement for container value type overly strict | Yes | ||
322 | CD1 | 23.2 [container.requirements] | iterator and const_iterator should have the same value type | Yes | ||
371 | CD1 | 23.2 [container.requirements] | Stability of multiset and multimap member functions | Yes | ||
589 | CD1 | 23.2 [container.requirements] | Requirements on iterators of member template functions of containers | Yes | 536 | |
675 | CD1 | 23.2 [container.requirements] | Move assignment of containers | Yes | ||
759 | CD1 | 23.2 [container.requirements] | A reference is not an object | Yes | ||
766 | CD1 | 23.2 [container.requirements] | Inconsistent exception guarantees between ordered and unordered associative containers | Yes | ||
842 | CD1 | 23.2 [container.requirements] | ConstructibleAsElement and bit containers | Yes | ||
51 | TC1 | 23.2 [container.requirements] | Requirement to not invalidate iterators missing | Yes | ||
279 | NAD | 23.2 [container.requirements] | const and non-const iterators should have equivalent typedefs | Yes | ||
632 | NAD | 23.2 [container.requirements] | Time complexity of size() for std::set | Yes | ||
1330 | NAD | 23.2 [container.requirements] | Move container requirements into requirements tables | Yes | ||
479 | Dup | 23.2 [container.requirements] | Container requirements and placement new | Yes | 580 | |
536 | Dup | 23.2 [container.requirements] | Container iterator constructor and explicit convertibility | Yes | 589 | |
2269 | New | 23.2.1 [container.requirements.general] | Container iterators and argument-dependent lookup | No | 4 | |
2321 | Open | 23.2.1 [container.requirements.general] | Moving containers should (usually) be required to preserve iterators | Yes | 2 | |
2218 | Open | 23.2.1 [container.requirements.general] | Unclear how containers use allocator_traits::construct() | Yes | 3 | |
2254 | Deferred | 23.2.1 [container.requirements.general] | Is dynarray an allocator-aware container? | Yes | ||
1521 | NAD Future | 23.2.1 [container.requirements.general] | Requirements on internal pointer representations in containers | Yes | ||
2182 | C++14 | 23.2.1 [container.requirements.general] | Container::[const_]reference types are misleadingly specified | Yes | 0 | |
2257 | C++14 | 23.2.1 [container.requirements.general] | Simplify container requirements with the new algorithms | Yes | ||
2308 | C++14 | 23.2.1 [container.requirements.general] | Clarify container destructor requirements w.r.t. std::array | Yes | 0 | |
2320 | C++14 | 23.2.1 [container.requirements.general] | select_on_container_copy_construction() takes allocators, not containers | Yes | 0 | |
2105 | C++14 | 23.2.1 [container.requirements.general] | Inconsistent requirements on const_iterator's value_type | Yes | ||
2177 | C++14 | 23.2.1 [container.requirements.general] | Requirements on Copy/MoveInsertable | Yes | ||
2211 | C++14 | 23.2.1 [container.requirements.general] | Replace ambiguous use of "Allocator" in container requirements | Yes | ||
1319 | C++11 | 23.2.1 [container.requirements.general] | Containers should require an iterator that is at least a Forward Iterator | Yes | ||
1034 | C++11 | 23.2.1 [container.requirements.general] | Clarify generality of Container Requirement tables | Yes | ||
985 | Resolved | 23.2.1 [container.requirements.general] | Allowing throwing move | Yes | ||
580 | NAD Editorial | 23.2.1 [container.requirements.general] | unused allocator members | Yes | 479 | |
1415 | NAD Editorial | 23.2.1 [container.requirements.general] | Iterator stability bans the short-string optimization | Yes | ||
2167 | NAD | 23.2.1 [container.requirements.general] | Copy assignment requirements of Containers | Yes | ||
1035 | NAD | 23.2.1 [container.requirements.general] | <array>::swap can invalidate references, pointers, and iterators | Yes | ||
2200 | C++14 | 23.2.2 [container.requirements.dataraces] | Data race avoidance for all containers, not only for sequences | Yes | ||
1329 | Resolved | 23.2.2 [container.requirements.dataraces] | Data races on vector<bool> |
Yes | ||
2266 | Tentatively Ready | 23.2.3 [sequence.reqmts] | vector and deque have incorrect insert requirements | Yes | 2 | |
2206 | Open | 23.2.3 [sequence.reqmts] | Inaccuracy in initializer_list constructor requirements | No | 3 | |
2231 | C++14 | 23.2.3 [sequence.reqmts] | DR 704 removes complexity guarantee for clear() | Yes | ||
1234 | C++11 | 23.2.3 [sequence.reqmts] | "Do the right thing" and NULL | Yes | ||
149 | C++11 | 23.2.3 [sequence.reqmts] | Insert should return iterator to first element inserted | Yes | ||
1037 | C++11 | 23.2.3 [sequence.reqmts] | Unclear status of match_results as library container | Yes | ||
1038 | C++11 | 23.2.3 [sequence.reqmts] | Sequence requirement table needs to reference several new containers | Yes | ||
1039 | C++11 | 23.2.3 [sequence.reqmts] | Sequence container back function should also support const_iterator | Yes | ||
355 | CD1 | 23.2.3 [sequence.reqmts] | Operational semantics for a.back() | Yes | ||
438 | CD1 | 23.2.3 [sequence.reqmts] | Ambiguity in the "do the right thing" clause | Yes | ||
139 | TC1 | 23.2.3 [sequence.reqmts] | Optional sequence operation table description unclear | Yes | ||
151 | TC1 | 23.2.3 [sequence.reqmts] | Can't currently clear() empty container | Yes | ||
725 | NAD Editorial | 23.2.3 [sequence.reqmts] | Optional sequence container requirements column label | Yes | ||
1058 | NAD Editorial | 23.2.3 [sequence.reqmts] | New container issue | Yes | ||
1301 | NAD Editorial | 23.2.3 [sequence.reqmts] | clear() and assignment | Yes | ||
526 | NAD | 23.2.3 [sequence.reqmts] | Is it undefined if a function in the standard changes in parameters? | Yes | ||
1259 | NAD | 23.2.3 [sequence.reqmts] | Should initializer-list constructors move elements? | Yes | ||
1036 | NAD Concepts | 23.2.3 [sequence.reqmts] | Remove iterator specification that is redundant due to concept constraints | Yes | ||
2362 | New | 23.2.4 [associative.reqmts] | unique, associative emplace() should not move/copy the mapped_type constructor arguments when no insertion happens | No | ||
2215 | Open | 23.2.4 [associative.reqmts] | (unordered) associative container functors should be CopyConstructible | No | 3 | |
2227 | Open | 23.2.4 [associative.reqmts] | Stateful comparison objects in associative containers | Yes | 3 | |
1041 | NAD Future | 23.2.4 [associative.reqmts] | Add associative/unordered container functions that allow to extract elements | Yes | ||
2258 | C++14 | 23.2.4 [associative.reqmts] | a.erase(q1, q2) unable to directly return q2 | Yes | 0 | |
2299 | C++14 | 23.2.4 [associative.reqmts] | [CD] Effects of inaccessible key_compare::is_transparent type are not clear | Yes | 1 | |
2322 | C++14 | 23.2.4 [associative.reqmts] | Associative(initializer_list, stuff) constructors are underspecified | Yes | 0 | |
1214 | C++14 | 23.2.4 [associative.reqmts] | Insufficient/inconsistent key immutability requirements for associative containers | Yes | ||
982 | C++11 | 23.2.4 [associative.reqmts] | Wrong complexity for initializer_list assignment in Table 85 | Yes | ||
1040 | C++11 | 23.2.4 [associative.reqmts] | Clarify possible sameness of associative container's iterator and const_iterator | Yes | ||
1253 | C++11 | 23.2.4 [associative.reqmts] | invalidation of iterators and emplace vs. insert inconsistence in assoc. containers | Yes | ||
103 | CD1 | 23.2.4 [associative.reqmts] | set::iterator is required to be modifiable, but this allows modification of keys | Yes | ||
130 | CD1 | 23.2.4 [associative.reqmts] | Return type of container::erase(iterator) differs for associative containers | Yes | 451 | |
233 | CD1 | 23.2.4 [associative.reqmts] | Insertion hints in associative containers | Yes | 192, 246 | |
264 | CD1 | 23.2.4 [associative.reqmts] | Associative container insert(i, j) complexity requirements are not feasible. | Yes | 102 | |
316 | CD1 | 23.2.4 [associative.reqmts] | Vague text in Table 69 | Yes | ||
354 | CD1 | 23.2.4 [associative.reqmts] | Associative container lower/upper bound requirements | Yes | ||
224 | TC1 | 23.2.4 [associative.reqmts] | clear() complexity for associative containers refers to undefined N | Yes | ||
2052 | Resolved | 23.2.4 [associative.reqmts] | Mixup between mapped_type and value_type for associative containers | Yes | 2 | |
82 | NAD | 23.2.4 [associative.reqmts] | Missing constant for set elements | Yes | ||
192 | NAD | 23.2.4 [associative.reqmts] | a.insert(p,t) is inefficient and overconstrained | Yes | 233 | |
215 | NAD | 23.2.4 [associative.reqmts] | Can a map's key_type be const? | Yes | ||
494 | NAD | 23.2.4 [associative.reqmts] | Wrong runtime complexity for associative container's insert and delete | Yes | ||
763 | NAD | 23.2.4 [associative.reqmts] | Renaming emplace() overloads | Yes | ||
1302 | NAD | 23.2.4 [associative.reqmts] | different emplace semantics for sequence and associated containers | Yes | ||
102 | Dup | 23.2.4 [associative.reqmts] | Bug in insert range in associative containers | Yes | 264 | |
246 | Dup | 23.2.4 [associative.reqmts] | a.insert(p,t) is incorrectly specified | Yes | 233 | |
451 | Dup | 23.2.4 [associative.reqmts] | Associative erase should return an iterator | Yes | 130 | |
2156 | Open | 23.2.5 [unord.req] | Unordered containers' reserve(n) reserves for n-1 elements | Yes | 3 | |
1175 | Open | 23.2.5 [unord.req] | unordered complexity | Yes | 3 | |
2198 | Open | 23.2.5 [unord.req] | max_load_factor(z) makes no strong guarantees, but bans useful behavior | No | 3 | |
2199 | Open | 23.2.5 [unord.req] | unordered containers are required to have an initial max load factor of 1.0 | No | 3 | |
1188 | NAD Future | 23.2.5 [unord.req] | Unordered containers should have a minimum load factor as well as a maximum | Yes | ||
2304 | C++14 | 23.2.5 [unord.req] | Complexity of count in unordered associative containers | Yes | 0 | |
2356 | C++14 | 23.2.5 [unord.req] | Stability of erasure in unordered associative containers | Yes | 2 | |
869 | C++11 | 23.2.5 [unord.req] | Bucket (local) iterators and iterating past end | Yes | ||
870 | C++11 | 23.2.5 [unord.req] | Do unordered containers not support function pointers for predicate/hasher? | Yes | ||
981 | C++11 | 23.2.5 [unord.req] | Unordered container requirements should add initializer_list support | Yes | ||
1189 | C++11 | 23.2.5 [unord.req] | Awkward interface for changing the number of buckets in an unordered associative container | Yes | ||
1197 | C++11 | 23.2.5 [unord.req] | Can unordered containers have bucket_count() == 0? | Yes | ||
518 | CD1 | 23.2.5 [unord.req] | Are insert and erase stable for unordered_multiset and unordered_multimap? | Yes | ||
579 | NAD | 23.2.5 [unord.req] | erase(iterator) for unordered containers should not return an iterator | Yes | ||
764 | NAD | 23.2.5 [unord.req] | equal_range on unordered containers should return a pair of local_iterators | Yes | ||
1190 | NAD | 23.2.5 [unord.req] | Setting the maximum load factor should return the previous value | Yes | ||
2006 | NAD | 23.2.5 [unord.req] | emplace broken for associative containers | Yes | ||
2189 | Open | 23.2.5.1 [unord.req.except] | Throwing swap breaks unordered containers' state | No | 3 | |
2209 | C++14 | 23.3 [sequences] | assign() overspecified for sequence containers | Yes | ||
2210 | C++14 | 23.3 [sequences] | Missing allocator-extended constructor for allocator-aware containers | Yes | ||
679 | CD1 | 23.3 [sequences] | resize parameter by value | Yes | ||
1042 | NAD | 23.3 [sequences] | Provide ContiguousStorage concept and apply it to corresponding containers | Yes | ||
2335 | New | 23.3.2 [array] | array<array<int, 3>, 4> should be layout-compatible with int[4][3] | No | 3 | |
851 | NAD Future | 23.3.2 [array] | simplified array construction | Yes | ||
1306 | C++11 | 23.3.2 [array] | pointer and const_pointer for <array> | Yes | ||
519 | CD1 | 23.3.2 [array] | Data() undocumented | Yes | ||
720 | CD1 | 23.3.2 [array] | Omissions in constexpr usages | Yes | ||
776 | CD1 | 23.3.2 [array] | Undescribed assign function of std::array | Yes | ||
588 | NAD | 23.3.2 [array] | requirements on zero sized tr1::arrays and other details | Yes | ||
617 | NAD | 23.3.2 [array] | std::array is a sequence that doesn't satisfy the sequence requirements? | Yes | ||
930 | NAD | 23.3.2 [array] | Access to std::array data as built-in array type | Yes | ||
2310 | New | 23.3.2.1 [array.overview] | Public exposition only member in std::array | No | 4 | |
2157 | Open | 23.3.2.8 [array.zero] | How does std::array<T,0> initialization work when T is not default-constructible? | Yes | 3 | |
1417 | C++11 | 23.3.2.8 [array.zero] | front/back on a zero-sized array should be undefined | Yes | ||
237 | CD1 | 23.3.3.2 [deque.cons] | Undefined expression in complexity specification | Yes | ||
144 | TC1 | 23.3.3.2 [deque.cons] | Deque constructor complexity wrong | Yes | ||
1418 | C++11 | 23.3.3.3 [deque.capacity] | Effects of resize(size()) on a deque | Yes | ||
850 | CD1 | 23.3.3.3 [deque.capacity] | Should shrink_to_fit apply to std::deque? | Yes | ||
855 | NAD | 23.3.3.3 [deque.capacity] | capacity() and reserve() for deque? | Yes | ||
2364 | New | 23.3.3.4 [deque.modifiers] | deque and vector pop_back don't specify iterator invalidation requirements | Yes | ||
638 | CD1 | 23.3.3.4 [deque.modifiers] | deque end invalidation during erase | Yes | ||
878 | C++11 | 23.3.4 [forwardlist] | forward_list preconditions | Yes | ||
1276 | C++11 | 23.3.4 [forwardlist] | forwardlist missing allocator constructors | Yes | ||
1419 | NAD Editorial | 23.3.4 [forwardlist] | forward_list::erase_after should return an iterator | Yes | ||
2042 | C++11 | 23.3.4.3 [forwardlist.iter] | Comparing forward_list::before_begin() to forward_list::end() | Yes | ||
1340 | C++11 | 23.3.4.5 [forwardlist.modifiers] | Why does forward_list::resize take the object to be copied by value? | Yes | ||
1278 | C++11 | 23.3.4.5 [forwardlist.modifiers] | Inconsistent return values for forward_list::insert_after | Yes | ||
897 | Resolved | 23.3.4.5 [forwardlist.modifiers] | Forward_list issues... Part 2 | Yes | ||
2045 | C++14 | 23.3.4.6 [forwardlist.ops] | forward_list::merge and forward_list::splice_after with unequal allocators | Yes | ||
2123 | C++14 | 23.3.4.6 [forwardlist.ops] | merge() allocator requirements for lists versus forward lists | Yes | ||
2222 | C++14 | 23.3.4.6 [forwardlist.ops] | Inconsistency in description of forward_list::splice_after single-element overload | Yes | ||
898 | C++11 | 23.3.4.6 [forwardlist.ops] | Small contradiction in n2723 to forward to committee | Yes | ||
1133 | C++11 | 23.3.4.6 [forwardlist.ops] | Does N2844 break current specification of list::splice? | Yes | ||
1310 | C++11 | 23.3.4.6 [forwardlist.ops] | forward_list splice_after from lvalues | Yes | ||
892 | NAD Editorial | 23.3.4.6 [forwardlist.ops] | Forward_list issues... | Yes | ||
919 | NAD | 23.3.4.6 [forwardlist.ops] | (forward_)list specialized remove algorithms are over constrained | Yes | ||
307 | CD1 | 23.3.5 [list] | Lack of reference typedefs in container adaptors | Yes | ||
320 | CD1 | 23.3.5.2 [list.cons] | list::assign overspecified | Yes | ||
410 | CD1 | 23.3.5.2 [list.cons] | Missing semantics for stack and queue comparison operators | Yes | ||
1420 | C++11 | 23.3.5.3 [list.capacity] | Effects of resize(size()) on a list | Yes | ||
132 | TC1 | 23.3.5.3 [list.capacity] | list::resize description uses random access iterators | Yes | ||
2122 | C++14 | 23.3.5.5 [list.ops] | merge() stability for lists versus forward lists | Yes | ||
1207 | C++11 | 23.3.5.5 [list.ops] | Underspecified std::list operations? | Yes | ||
1215 | C++11 | 23.3.5.5 [list.ops] | list::merge with unequal allocators | Yes | ||
250 | CD1 | 23.3.5.5 [list.ops] | splicing invalidates iterators | Yes | ||
278 | CD1 | 23.3.5.5 [list.ops] | What does iterator validity mean? | Yes | ||
300 | CD1 | 23.3.5.5 [list.ops] | list::merge() specification incomplete | Yes | ||
315 | CD1 | 23.3.5.5 [list.ops] | Bad "range" in list::unique complexity | Yes | ||
2279 | NAD | 23.3.5.5 [list.ops] | Carefully state effects of list::splice function | Yes | ||
131 | NAD | 23.3.5.5 [list.ops] | list::splice throws nothing | Yes | ||
491 | NAD | 23.3.5.5 [list.ops] | std::list<>::unique incorrectly specified | Yes | ||
1184 | NAD Future | 23.3.6 [vector] | Feature request: dynamic bitset | Yes | ||
464 | CD1 | 23.3.6 [vector] | Suggestion for new member functions in standard containers | Yes | ||
469 | CD1 | 23.3.6 [vector] | vector<bool> ill-formed relational operators | Yes | ||
496 | CD1 | 23.3.6 [vector] | Illegal use of "T" in vector<bool> | Yes | ||
69 | TC1 | 23.3.6 [vector] | Must elements of a vector be contiguous? | Yes | ||
101 | NAD Editorial | 23.3.6 [vector] | No way to free storage for vector and deque | Yes | ||
757 | NAD Editorial | 23.3.6 [vector] | Typo in the synopsis of vector | Yes | ||
96 | NAD | 23.3.6 [vector] | Vector<bool> is not a container | Yes | ||
134 | TC1 | 23.3.6.2 [vector.cons] | vector constructors over specified | Yes | ||
2158 | New | 23.3.6.3 [vector.capacity] | Conditional copy/move in std::vector | No | 2 | |
2223 | Open | 23.3.6.3 [vector.capacity] | shrink_to_fit effect on iterator validity | Yes | 2 | |
2160 | Open | 23.3.6.3 [vector.capacity] | Unintended destruction ordering-specification of resize | No | 1 | |
2323 | C++14 | 23.3.6.3 [vector.capacity] | vector::resize(n, t)'s specification should be simplified | Yes | 0 | |
2033 | C++14 | 23.3.6.3 [vector.capacity] | Preconditions of reserve, shrink_to_fit, and resize functions | Yes | ||
1525 | C++11 | 23.3.6.3 [vector.capacity] | Effects of resize(size()) on a vector | Yes | ||
329 | CD1 | 23.3.6.3 [vector.capacity] | vector capacity, reserve and reallocation | Yes | ||
341 | CD1 | 23.3.6.3 [vector.capacity] | Vector reallocation and swap | Yes | ||
755 | CD1 | 23.3.6.3 [vector.capacity] | std::vector and std:string lack explicit shrink-to-fit operations | Yes | ||
2066 | Resolved | 23.3.6.3 [vector.capacity] | Missing specification of vector::resize(size_type) | Yes | ||
1102 | NAD | 23.3.6.3 [vector.capacity] | std::vector's reallocation policy still unclear | Yes | ||
1246 | NAD | 23.3.6.3 [vector.capacity] | vector::resize() missing efficiency guarantee | Yes | ||
1312 | C++11 | 23.3.6.4 [vector.data] | vector::data no longer returns a raw pointer | Yes | ||
2164 | New | 23.3.6.5 [vector.modifiers] | What are the semantics of vector.emplace(vector.begin(), vector.back())? | No | 2 | |
2256 | New | 23.3.6.5 [vector.modifiers] | On vector iterator invalidation | No | 3 | |
2252 | C++14 | 23.3.6.5 [vector.modifiers] | Strong guarantee on vector::push_back() still broken with C++11? | Yes | ||
247 | CD1 | 23.3.6.5 [vector.modifiers] | vector, deque::insert complexity | Yes | ||
406 | CD1 | 23.3.6.5 [vector.modifiers] | vector::insert(s) exception safety | Yes | ||
414 | CD1 | 23.3.6.5 [vector.modifiers] | Which iterators are invalidated by v.erase()? | Yes | ||
1422 | NAD Future | 23.3.7 [vector.bool] | vector<bool> iterators are not random access | Yes | ||
2187 | C++14 | 23.3.7 [vector.bool] | vector<bool> is missing emplace and emplace_back member functions | Yes | ||
814 | C++11 | 23.3.7 [vector.bool] | vector<bool>::swap(reference, reference) not defined | Yes | ||
1254 | C++11 | 23.3.7 [vector.bool] | Misleading sentence in vector<bool>::flip | Yes | ||
1284 | C++11 | 23.3.7 [vector.bool] | vector<bool> initializer_list constructor missing an allocator argument | Yes | ||
751 | NAD | 23.3.7 [vector.bool] | change pass-by-reference members of vector<bool> to pass-by-value? | Yes | ||
2161 | New | 23.4 [associative] | const equivalence of std::map | No | 2 | |
839 | NAD Future | 23.4 [associative] | Maps and sets missing splice operation | Yes | ||
2012 | Resolved | 23.4 [associative] | Associative maps should insert pair, not tuple | Yes | ||
1111 | NAD Concepts | 23.4 [associative] | associative containers underconstrained | Yes | ||
2059 | Open | 23.4.4 [map] | C++0x ambiguity problem with map::erase | Yes | 3 | |
1423 | C++11 | 23.4.4 [map] | map constructor accepting an allocator as single parameter should be explicit | Yes | ||
133 | TC1 | 23.4.4 [map] | map missing get_allocator() | Yes | ||
140 | NAD Editorial | 23.4.4 [map] | map<Key, T>::value_type does not satisfy the assignable requirement | Yes | ||
1296 | NAD | 23.4.4 [map] | map and multimap value_compare overspecified | Yes | ||
2354 | Ready | 23.4.4.1 [map.overview] | Unnecessary copying when inserting into maps with braced-init syntax | Yes | 2 | |
2274 | Open | 23.4.4.3 [map.access] | Does map::operator[] value-initialize or default-insert a missing element? | Yes | 3 | |
2007 | C++11 | 23.4.4.3 [map.access] | Incorrect specification of return value for map<>::at() | Yes | ||
334 | CD1 | 23.4.4.3 [map.access] | map::operator[] specification forces inefficient implementation | Yes | ||
703 | CD1 | 23.4.4.3 [map.access] | map::at() need a complexity specification | Yes | ||
2005 | C++14 | 23.4.4.4 [map.modifiers] | unordered_map::insert(T&&) protection should apply to map too | Yes | ||
1424 | C++11 | 23.4.5 [multimap] | multimap constructor accepting an allocator as a single parameter should be explicit | Yes | ||
1091 | NAD | 23.4.5.3 [multimap.modifiers] | Multimap description confusing | Yes | ||
1425 | C++11 | 23.4.6 [set] | set constructor accepting an allocator as a single parameter should be explicit | Yes | ||
214 | CD1 | 23.4.6 [set] | set::find() missing const overload | Yes | 450 | |
450 | Dup | 23.4.6 [set] | set::find is inconsistent with associative container requirements | Yes | 214 | |
2076 | New | 23.4.6.2 [set.cons] | Bad CopyConstructible requirement in set constructors | Yes | 3 | |
1426 | C++11 | 23.4.7 [multiset] | multiset constructor accepting an allocator as a single parameter should be explicit | Yes | ||
2230 | Tentatively Ready | 23.5 [unord] | "see below" for initializer-list constructors of unordered containers | Yes | 4 | |
2050 | C++14 | 23.5 [unord] | Unordered associative containers do not use allocator_traits to define member types | Yes | ||
676 | C++11 | 23.5 [unord] | Moving the unordered containers | Yes | ||
691 | CD1 | 23.5 [unord] | const_local_iterator cbegin, cend missing from TR1 | Yes | ||
852 | CD1 | 23.5 [unord] | unordered containers begin(n) mistakenly const | Yes | ||
1248 | Resolved | 23.5 [unord] | Equality comparison for unordered containers | Yes | ||
528 | NAD | 23.5 [unord] | const_iterator iterator issue when they are the same type | Yes | ||
2026 | NAD | 23.5 [unord] | hash should be std qualified for unordered container | Yes | ||
1427 | C++11 | 23.5.4 [unord.map] | unordered_map constructor accepting an allocator as a single parameter should be explicit | Yes | ||
1519 | C++11 | 23.5.4 [unord.map] | bucketsize() const only for unordered set | Yes | ||
761 | CD1 | 23.5.4.3 [unord.map.elem] | unordered_map needs an at() member function | Yes | ||
1428 | C++11 | 23.5.5 [unord.multimap] | unordered_multimap constructor accepting an allocator as a single parameter should be explicit | Yes | ||
1429 | C++11 | 23.5.6 [unord.set] | unordered_set constructor accepting an allocator as a single parameter should be explicit | Yes | ||
1430 | C++11 | 23.5.7 [unord.multiset] | unordered_multiset constructor accepting an allocator as a single parameter should be explicit | Yes | ||
2194 | C++14 | 23.6 [container.adaptors] | Impossible container requirements for adaptor types | Yes | ||
1194 | C++11 | 23.6 [container.adaptors] | Unintended queue constructor | Yes | ||
1198 | C++11 | 23.6 [container.adaptors] | Container adaptor swap: member or non-member? | Yes | ||
1199 | C++11 | 23.6 [container.adaptors] | Missing extended copy constructor in container adaptors | Yes | ||
756 | Resolved | 23.6 [container.adaptors] | Container adaptors push | Yes | ||
1421 | Resolved | 23.6 [container.adaptors] | Accidental move-only library types due to new core language rules | Yes | 1350 | |
1196 | Resolved | 23.6.4.1 [priqueue.cons] | move semantics undefined for priority_queue | Yes | ||
1186 | NAD Concepts | 23.6.5 [stack] | Forward list could model a stack | Yes | ||
976 | Resolved | 23.6.5.2 [stack.defn] | Class template std::stack should be movable | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
1213 | Open | 24.2 [iterator.requirements] | Meaning of valid and singular iterator underspecified | Yes | 4 | |
1185 | Resolved | 24.2 [iterator.requirements] | Iterator categories and output iterators | Yes | ||
1210 | Resolved | 24.2 [iterator.requirements] | Iterator reachability should not require a container | Yes | ||
1212 | Resolved | 24.2 [iterator.requirements] | result of post-increment/decrement operator | Yes | ||
408 | NAD Editorial | 24.2 [iterator.requirements] | Is vector<reverse_iterator<char*> > forbidden? | Yes | ||
446 | NAD Editorial | 24.2 [iterator.requirements] | Iterator equality between different containers | Yes | ||
2107 | NAD | 24.2 [iterator.requirements] | Some iterator category should guarantee the lifetime of references | Yes | ||
2375 | New | 24.2.1 [iterator.requirements.general] | Is [iterator.requirements.general]/9 too broadly applied? | No | ||
1009 | NAD | 24.2.2 [iterator.iterators] | InputIterator post-increment dangerous | Yes | ||
484 | NAD Future | 24.2.3 [input.iterators] | Convertible to T | Yes | ||
98 | CD1 | 24.2.3 [input.iterators] | Input iterator requirements are badly written | Yes | ||
558 | NAD Editorial | 24.2.3 [input.iterators] | lib.input.iterators Defect | Yes | ||
392 | NAD | 24.2.3 [input.iterators] | 'equivalence' for input iterators | Yes | ||
493 | NAD | 24.2.3 [input.iterators] | Undefined Expression in Input Iterator Note Title | Yes | ||
2035 | Open | 24.2.4 [output.iterators] | Output iterator requirements are broken | Yes | 3 | |
2038 | Open | 24.2.4 [output.iterators] | Missing definition for incrementable iterator | No | 3 | |
324 | CD1 | 24.2.4 [output.iterators] | Do output iterators have value types? | Yes | ||
485 | Resolved | 24.2.4 [output.iterators] | output iterator insufficiently constrained | Yes | ||
200 | CD1 | 24.2.5 [forward.iterators] | Forward iterator requirements don't allow constant iterators | Yes | ||
478 | CD1 | 24.2.5 [forward.iterators] | Should forward iterator requirements table have a line for r->m? | Yes | 477 | |
1311 | Resolved | 24.2.5 [forward.iterators] | multi-pass property of Forward Iterator underspecified | Yes | ||
476 | NAD | 24.2.5 [forward.iterators] | Forward Iterator implied mutability | Yes | ||
477 | Dup | 24.2.5 [forward.iterators] | Operator-> for const forward iterators | Yes | 478 | |
1084 | NAD Concepts | 24.2.5 [forward.iterators] | Concept ForwardIterator should provide default implementation for post-increment | Yes | ||
383 | CD1 | 24.2.6 [bidirectional.iterators] | Bidirectional iterator assertion typo | Yes | ||
299 | NAD Editorial | 24.2.6 [bidirectional.iterators] | Incorrect return types for iterator dereference | Yes | ||
1085 | NAD Concepts | 24.2.6 [bidirectional.iterators] | BidirectionalIterator concept should provide default implementation for post-decrement | Yes | ||
1079 | C++11 | 24.2.7 [random.access.iterators] | UK-265: RandomAccessIterator 's operator- has nonsensical effects clause |
Yes | ||
448 | CD1 | 24.2.7 [random.access.iterators] | Random Access Iterators over abstract classes | Yes | ||
458 | NAD | 24.2.7 [random.access.iterators] | 24.1.5 contains unintended limitation for operator- | Yes | ||
1010 | NAD Concepts | 24.2.7 [random.access.iterators] | operator-= should use default in concept | Yes | ||
1320 | NAD Future | 24.3 [iterator.synopsis] | Header for iter_swap | Yes | ||
2061 | C++14 | 24.3 [iterator.synopsis] | make_move_iterator and arrays | Yes | ||
2128 | C++14 | 24.3 [iterator.synopsis] | Absence of global functions cbegin/cend | Yes | ||
445 | CD1 | 24.4.1 [iterator.traits] | iterator_traits::reference unspecified for some iterator categories | Yes | ||
1127 | NAD Concepts | 24.4.1 [iterator.traits] | rvalue references and iterator traits | Yes | ||
2353 | New | 24.4.4 [iterator.operations] | std::next is over-constrained | Yes | 4 | |
1011 | C++11 | 24.4.4 [iterator.operations] | next/prev wrong iterator type | Yes | ||
940 | Resolved | 24.4.4 [iterator.operations] | std::distance | Yes | ||
204 | NAD | 24.4.4 [iterator.operations] | distance(first, last) when "last" is before "first" | Yes | ||
2208 | New | 24.5.1 [reverse.iterators] | std::reverse_iterator should be a literal type | No | 3 | |
2285 | C++14 | 24.5.1 [reverse.iterators] | make_reverse_iterator | Yes | ||
280 | CD1 | 24.5.1 [reverse.iterators] | Comparison of reverse_iterator to const reverse_iterator | Yes | ||
2360 | C++14 | 24.5.1.1 [reverse.iterator] | reverse_iterator::operator*() is unimplementable | Yes | 1 | |
235 | CD1 | 24.5.1.1 [reverse.iterator] | No specification of default ctor for reverse_iterator | Yes | ||
1012 | C++11 | 24.5.1.3.1 [reverse.iter.cons] | reverse_iterator default ctor should value initialize | Yes | ||
2204 | NAD | 24.5.1.3.4 [reverse.iter.op.star] | reverse_iterator should not require a second copy of the base iterator | Yes | ||
1052 | NAD Future | 24.5.1.3.5 [reverse.iter.opref] | reverse_iterator::operator-> should also support smart pointers | Yes | ||
2188 | C++14 | 24.5.1.3.5 [reverse.iter.opref] | Reverse iterator does not fully support targets that overload operator& | Yes | 1 | |
386 | CD1 | 24.5.1.3.11 [reverse.iter.op-=] | Reverse iterator's operator[] has impossible return type | Yes | ||
2347 | NAD | 24.5.1.3.12 [reverse.iter.opindex] | reverse_iterator::operator[] calls const version of current[] | Yes | 2 | |
1051 | NAD | 24.5.1.3.12 [reverse.iter.opindex] | Specify subscript operation return types of reverse_iterator and move_iterator | Yes | ||
99 | NAD | 24.5.1.3.13 [reverse.iter.op==] | Reverse_iterator comparisons completely wrong | Yes | ||
685 | CD1 | 24.5.1.3.19 [reverse.iter.opdiff] | reverse_iterator/move_iterator difference has invalid signatures | Yes | ||
977 | NAD | 24.5.2 [insert.iterators] | insert iterators inefficient for expensive to move types | Yes | ||
100 | NAD | 24.5.2 [insert.iterators] | Insert iterators/ostream_iterators overconstrained | Yes | ||
1062 | NAD | 24.5.2 [insert.iterators] | Missing insert_iterator for stacks/queues | Yes | ||
903 | NAD | 24.5.2.1 [back.insert.iterator] | back_insert_iterator issue | Yes | ||
2324 | C++14 | 24.5.2.2.1 [back.insert.iter.cons] | Insert iterator constructors should use addressof() | Yes | 0 | |
1334 | C++11 | 24.5.2.2.2 [back.insert.iter.op=] | Insert iterators are broken for some proxy containers compared to C++03 | Yes | ||
901 | NAD | 24.5.2.5 [insert.iterator] | insert iterators can move from lvalues | Yes | ||
561 | CD1 | 24.5.2.6.5 [inserter] | inserter overly generic | Yes | ||
2106 | Tentatively Ready | 24.5.3 [move.iterators] | move_iterator wrapping iterators returning prvalues | Yes | 3 | |
979 | NAD Editorial | 24.5.3 [move.iterators] | Bad example | Yes | ||
680 | CD1 | 24.5.3.1 [move.iterator] | move_iterator operator-> return | Yes | ||
1211 | Resolved | 24.5.3.1 [move.iterator] | Move iterators should be restricted as input iterators | Yes | ||
872 | C++11 | 24.5.3.3.12 [move.iter.op.index] | move_iterator::operator[] has wrong return type | Yes | ||
1086 | NAD Concepts | 24.6 [stream.iterators] | Stream iterators need to be concept-constrained templates | Yes | ||
788 | C++11 | 24.6.1 [istream.iterator] | Ambiguity in [istream.iterator] | Yes | ||
838 | C++11 | 24.6.1 [istream.iterator] | Can an end-of-stream iterator become a non-end-of-stream one? | Yes | ||
245 | NAD | 24.6.1 [istream.iterator] | Which operations on istream_iterator trigger input operations? | Yes | ||
1280 | C++11 | 24.6.1.1 [istream.iterator.cons] | Initialization of stream iterators | Yes | ||
1129 | Resolved | 24.6.1.1 [istream.iterator.cons] | istream(buf)_iterator should support literal sentinel value | Yes | ||
260 | CD1 | 24.6.1.2 [istream.iterator.ops] | Inconsistent return type of istream_iterator::operator++(int) | Yes | ||
261 | CD1 | 24.6.1.2 [istream.iterator.ops] | Missing description of istream_iterator::operator!= | Yes | ||
349 | CD1 | 24.6.2 [ostream.iterator] | Minor typographical error in ostream_iterator | Yes | ||
1125 | NAD | 24.6.2.2 [ostream.iterator.ops] | ostream_iterator does not work with movable types | Yes | ||
2366 | New | 24.6.3 [istreambuf.iterator] | istreambuf_iterator end-of-stream equality | No | ||
659 | C++11 | 24.6.3 [istreambuf.iterator] | istreambuf_iterator should have an operator->() | Yes | ||
110 | TC1 | 24.6.3 [istreambuf.iterator] | istreambuf_iterator::equal not const | Yes | ||
39 | TC1 | 24.6.3.4 [istreambuf.iterator::op++] | istreambuf_iterator<>::operator++(int) definition garbled | Yes | ||
1126 | C++11 | 24.6.3.5 [istreambuf.iterator::equal] | istreambuff_iterator::equal needs a const & parameter | Yes | ||
111 | NAD | 24.6.3.5 [istreambuf.iterator::equal] | istreambuf_iterator::equal overspecified, inefficient | Yes | ||
112 | TC1 | 24.6.4.1 [ostreambuf.iter.cons] | Minor typo in ostreambuf_iterator constructor | Yes | ||
2277 | Deferred | 24.7 [iterator.range] | <dynarray> is missing in 24.7/1 | Yes | ||
2280 | C++14 | 24.7 [iterator.range] | begin/end for arrays should be constexpr and noexcept | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2173 | New | 25 [algorithms] | The meaning of operator + in the description of the algorithms | No | 4 | |
1053 | NAD Future | 25 [algorithms] | Unify algorithms with operator and function object variants | Yes | ||
1238 | NAD Future | 25 [algorithms] | defining algorithms taking iterator for range | Yes | ||
1282 | NAD Future | 25 [algorithms] | A proposal to add std::split algorithm | Yes | ||
1205 | C++11 | 25 [algorithms] | Some algorithms could more clearly document their handling of empty ranges | Yes | ||
92 | CD1 | 25 [algorithms] | Incomplete Algorithm Requirements | Yes | ||
210 | TC1 | 25 [algorithms] | distance first and last confused | Yes | ||
631 | NAD | 25 [algorithms] | conflicting requirements for BinaryPredicate | Yes | ||
2082 | NAD | 25 [algorithms] | Misleading complexity requirements in <algorithm> | Yes | ||
483 | Dup | 25.2 [alg.nonmodifying] | Heterogeneous equality and EqualityComparable | Yes | 283 | |
1110 | C++11 | 25.2.4 [alg.foreach] | Is for_each overconstrained? | Yes | ||
475 | CD1 | 25.2.4 [alg.foreach] | May the function object passed to for_each modify the elements of the iterated sequence? | Yes | ||
969 | NAD Editorial | 25.2.4 [alg.foreach] | What happened to Library Issue 475? | Yes | ||
290 | NAD | 25.2.4 [alg.foreach] | Requirements to for_each and its function object | Yes | ||
219 | NAD | 25.2.5 [alg.find] | find algorithm missing version that takes a binary predicate argument | Yes | ||
244 | NAD | 25.2.5 [alg.find] | Must find's third argument be CopyConstructible? | Yes | ||
2150 | C++14 | 25.2.6 [alg.find.end] | Unclear specification of find_end | Yes | ||
576 | CD1 | 25.2.7 [alg.find.first.of] | find_first_of is overconstrained | Yes | ||
150 | TC1 | 25.2.7 [alg.find.first.of] | Find_first_of says integer instead of iterator | Yes | ||
240 | CD1 | 25.2.8 [alg.adjacent.find] | Complexity of adjacent_find() is meaningless | Yes | ||
1000 | NAD Concepts | 25.2.8 [alg.adjacent.find] | adjacent_find is over-constrained | Yes | ||
1431 | C++11 | 25.2.12 [alg.is_permutation] | is_permutation must be more restrictive | Yes | ||
1338 | C++11 | 25.2.13 [alg.search] | LWG 1205 incorrectly applied | Yes | ||
426 | CD1 | 25.2.13 [alg.search] | search_n(), fill_n(), and generate_n() with negative n | Yes | ||
714 | CD1 | 25.2.13 [alg.search] | search_n complexity is too lax | Yes | ||
2242 | New | 25.3.1 [alg.copy] | [uninitialized_]copy_n() defect | No | 2 | |
2039 | C++14 | 25.3.1 [alg.copy] | Issues with std::reverse and std::copy_if | Yes | ||
1206 | C++11 | 25.3.2 [alg.move] | Incorrect requires for move_backward and copy_backward | Yes | ||
187 | CD1 | 25.3.3 [alg.swap] | iter_swap underspecified | Yes | ||
809 | CD1 | 25.3.3 [alg.swap] | std::swap should be overloaded for array types | Yes | ||
227 | TC1 | 25.3.3 [alg.swap] | std::swap() should require CopyConstructible or DefaultConstructible arguments | Yes | ||
912 | NAD Concepts | 25.3.3 [alg.swap] | Array swap needs to be conceptualized | Yes | ||
242 | CD1 | 25.3.4 [alg.transform] | Side effects of function objects | Yes | ||
293 | NAD | 25.3.4 [alg.transform] | Order of execution in transform algorithm | Yes | ||
283 | CD1 | 25.3.5 [alg.replace] | std::replace() requirement incorrect/insufficient | Yes | 483 | |
337 | CD1 | 25.3.5 [alg.replace] | replace_copy_if's template parameter should be InputIterator | Yes | ||
913 | NAD Concepts | 25.3.5 [alg.replace] | Superfluous requirements for replace algorithms | Yes | ||
1087 | NAD Concepts | 25.3.5 [alg.replace] | Incorrect OutputIterator concept requirements for replace algorithms | Yes | ||
865 | C++11 | 25.3.6 [alg.fill] | More algorithms that throw away information | Yes | ||
2110 | C++14 | 25.3.8 [alg.remove] | remove can't swap but note says it might | Yes | ||
779 | CD1 | 25.3.8 [alg.remove] | Resolution of #283 incomplete | Yes | ||
367 | NAD | 25.3.8 [alg.remove] | remove_copy/remove_copy_if and Input Iterators | Yes | ||
489 | NAD | 25.3.8 [alg.remove] | std::remove / std::remove_if wrongly specified | Yes | ||
1241 | C++11 | 25.3.9 [alg.unique] | unique_copy needs to require EquivalenceRelation | Yes | ||
202 | CD1 | 25.3.9 [alg.unique] | unique() effects unclear when predicate not an equivalence relation | Yes | ||
239 | CD1 | 25.3.9 [alg.unique] | Complexity of unique() and/or unique_copy incorrect | Yes | ||
241 | CD1 | 25.3.9 [alg.unique] | Does unique_copy() require CopyConstructible and Assignable? | Yes | ||
538 | CD1 | 25.3.9 [alg.unique] | 241 again: Does unique_copy() require CopyConstructible and Assignable? | Yes | ||
1101 | NAD Editorial | 25.3.9 [alg.unique] | unique requirements | Yes | ||
481 | NAD | 25.3.9 [alg.unique] | unique's effects on the range [result, last) | Yes | ||
490 | NAD | 25.3.9 [alg.unique] | std::unique wrongly specified | Yes | ||
914 | NAD Concepts | 25.3.9 [alg.unique] | Superfluous requirement for unique | Yes | ||
2074 | C++14 | 25.3.10 [alg.reverse] | Off by one error in std::reverse_copy | Yes | ||
223 | TC1 | 25.3.10 [alg.reverse] | reverse algorithm should use iter_swap rather than swap | Yes | ||
488 | CD1 | 25.3.11 [alg.rotate] | rotate throws away useful information | Yes | ||
1432 | C++11 | 25.3.12 [alg.random.shuffle] | random_shuffle signatures are inconsistent | Yes | 1433 | |
552 | CD1 | 25.3.12 [alg.random.shuffle] | random_shuffle and its generator | Yes | ||
1093 | Resolved | 25.3.12 [alg.random.shuffle] | Multiple definitions for random_shuffle algorithm | Yes | ||
1433 | Dup | 25.3.12 [alg.random.shuffle] | random_shuffle and shuffle should have consistent signatures | Yes | 1432 | |
2357 | C++14 | 25.3.13 [alg.partitions] | Remaining "Assignable" requirement | Yes | 0 | |
498 | C++11 | 25.3.13 [alg.partitions] | Requirements for partition() and stable_partition() too strong | Yes | ||
556 | C++11 | 25.4 [alg.sorting] | Is Compare a BinaryPredicate? | Yes | ||
218 | NAD | 25.4 [alg.sorting] | Algorithms do not use binary predicate objects for default comparisons | Yes | ||
812 | NAD Editorial | 25.4.1 [alg.sort] | unsolicited multithreading considered harmful? | Yes | ||
713 | CD1 | 25.4.1.1 [sort] | sort() complexity is too lax | Yes | ||
499 | NAD Editorial | 25.4.1.2 [stable.sort] | Std. doesn't seem to require stable_sort() to be stable! | Yes | ||
2267 | New | 25.4.1.4 [partial.sort.copy] | partial_sort_copy underspecified for ranges of two different types | No | 3 | |
2339 | C++14 | 25.4.2 [alg.nth.element] | Wording issue in nth_element | Yes | 0 | |
2163 | C++14 | 25.4.2 [alg.nth.element] | nth_element requires inconsistent post-conditions | Yes | ||
270 | CD1 | 25.4.3 [alg.binary.search] | Binary search requirements overly strict | Yes | 472 | |
191 | NAD | 25.4.3 [alg.binary.search] | Unclear complexity for algorithms such as binary search | Yes | ||
577 | CD1 | 25.4.3.2 [upper.bound] | upper_bound(first, last, ...) cannot return last | Yes | ||
384 | CD1 | 25.4.3.3 [equal.range] | equal_range has unimplementable runtime complexity | Yes | ||
472 | Dup | 25.4.3.3 [equal.range] | Missing "Returns" clause in std::equal_range | Yes | 270 | |
787 | CD1 | 25.4.3.4 [binary.search] | complexity of binary_search | Yes | ||
780 | C++11 | 25.4.4 [alg.merge] | std::merge() specification incorrect/insufficient | Yes | ||
291 | CD1 | 25.4.5 [alg.set.operations] | Underspecification of set algorithms | Yes | ||
411 | CD1 | 25.4.5 [alg.set.operations] | Wrong names of set member functions | Yes | ||
862 | NAD Editorial | 25.4.5.1 [includes] | Impossible complexity for 'includes' | Yes | ||
1109 | NAD Concepts | 25.4.5.1 [includes] | std::includes should require CopyConstructible predicate | Yes | ||
2166 | New | 25.4.6 [alg.heap.operations] | Heap property underspecified? | No | 3 | |
193 | TC1 | 25.4.6 [alg.heap.operations] | Heap operations description incorrect | Yes | 216 | |
2369 | New | 25.4.7 [alg.min.max] | constexpr max(initializer_list) vs max_element | Yes | ||
2239 | New | 25.4.7 [alg.min.max] | min/max/minmax requirements | No | 3 | |
2325 | New | 25.4.7 [alg.min.max] | minmax_element()'s behavior differing from max_element()'s should be noted | Yes | 3 | |
2350 | C++14 | 25.4.7 [alg.min.max] | min, max, and minmax should be constexpr | Yes | 1 | |
281 | CD1 | 25.4.7 [alg.min.max] | std::min() and max() requirements overly restrictive | Yes | 486 | |
715 | CD1 | 25.4.7 [alg.min.max] | minmax_element complexity is too lax | Yes | ||
212 | TC1 | 25.4.7 [alg.min.max] | Empty range behavior unclear for several algorithms | Yes | ||
915 | NAD Editorial | 25.4.7 [alg.min.max] | minmax with initializer_list should return pair of T, not pair of const T& | Yes | ||
1013 | NAD Editorial | 25.4.7 [alg.min.max] | Remove IsSameType hold-over constraints | Yes | ||
1434 | NAD Editorial | 25.4.7 [alg.min.max] | For min/max functions replace variadic arguments by initializer_list argument | Yes | ||
190 | NAD | 25.4.7 [alg.min.max] | min() and max() functions should be std::binary_functions | Yes | ||
1308 | NAD | 25.4.7 [alg.min.max] | Concerns about initializer_list overloads of min, max, and minmax | Yes | ||
486 | Dup | 25.4.7 [alg.min.max] | min/max CopyConstructible requirement is too strict | Yes | 281 | |
142 | TC1 | 25.4.8 [alg.lex.comparison] | lexicographical_compare complexity wrong | Yes | ||
286 | CD1 | 25.5 [alg.c.library] | <cstdlib> requirements missing size_t typedef | Yes | ||
405 | CD1 | 25.5 [alg.c.library] | qsort and POD | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
860 | C++11 | 26 [numerics] | Floating-Point State | Yes | ||
1140 | NAD Concepts | 26 [numerics] | Numerics library not concept enabled | Yes | ||
1154 | NAD Future | 26.4 [complex.numbers] | complex should accept integral types | Yes | ||
1217 | NAD Future | 26.4 [complex.numbers] | Quaternion support | Yes | ||
387 | CD1 | 26.4 [complex.numbers] | std::complex over-encapsulated | Yes | ||
388 | NAD | 26.4 [complex.numbers] | Use of complex as a key in associative containers | Yes | ||
79 | TC1 | 26.4.1 [complex.syn] | Inconsistent declaration of polar() | Yes | ||
80 | TC1 | 26.4.1 [complex.syn] | Global Operators of complex declared twice | Yes | ||
629 | CD1 | 26.4.6 [complex.ops] | complex<T> insertion and locale dependence | Yes | ||
146 | TC1 | 26.4.6 [complex.ops] | complex<T> Inserter and Extractor need sentries | Yes | ||
177 | NAD | 26.4.6 [complex.ops] | Complex operators cannot be explicitly instantiated | Yes | ||
1435 | C++11 | 26.4.7 [complex.value.ops] | Unclear returns specifications for C99 complex number functions | Yes | ||
595 | CD1 | 26.4.7 [complex.value.ops] | TR1/C++0x: fabs(complex<T>) redundant / wrongly specified | Yes | ||
781 | CD1 | 26.4.7 [complex.value.ops] | std::complex should add missing C99 functions | Yes | ||
440 | NAD | 26.4.8 [complex.transcendentals] | Should std::complex use unqualified transcendentals? | Yes | ||
1137 | C++11 | 26.4.9 [cmplx.over] | Return type of conj and proj | Yes | ||
1522 | C++11 | 26.4.9 [cmplx.over] | conj specification is now nonsense | Yes | ||
844 | CD1 | 26.4.9 [cmplx.over] | complex pow return type is ambiguous | Yes | ||
507 | CD1 | 26.5 [rand] | Missing requirement for variate_generator::operator() | Yes | ||
699 | CD1 | 26.5 [rand] | N2111 changes min/max | Yes | ||
506 | NAD | 26.5 [rand] | Requirements of Distribution parameter for variate_generator | Yes | ||
547 | NAD | 26.5 [rand] | division should be floating-point, not integer | Yes | ||
572 | NAD | 26.5 [rand] | Oops, we gave 507 WP status | Yes | ||
1056 | NAD | 26.5 [rand] | Must all Engines and Distributions be Streamable? | Yes | ||
1057 | NAD Concepts | 26.5 [rand] | RandomNumberEngineAdaptor | Yes | ||
505 | CD1 | 26.5.1 [rand.req] | Result_type in random distribution requirements | Yes | ||
504 | NAD Editorial | 26.5.1 [rand.req] | Integer types in pseudo-random number engine requirements | Yes | ||
517 | NAD | 26.5.1 [rand.req] | Should include name in external representation | Yes | ||
2326 | New | 26.5.1.1 [rand.req.genl] | uniform_int_distribution<unsigned char> should be permitted | No | 2 | |
2181 | Open | 26.5.1.2 [rand.req.seedseq] | Exceptions from seed sequence operations | Yes | 3 | |
2124 | NAD | 26.5.1.2 [rand.req.seedseq] | Seed sequence over-specified | Yes | ||
2154 | New | 26.5.1.3 [rand.req.urng] | What exactly does compile-time complexity imply? | No | 4 | |
2327 | NAD | 26.5.1.3 [rand.req.urng] | Non-power-of-two URNGs should be forbidden | Yes | ||
654 | CD1 | 26.5.1.4 [rand.req.eng] | Missing IO roundtrip for random number engines | Yes | ||
678 | CD1 | 26.5.1.4 [rand.req.eng] | Changes for [rand.req.eng] | Yes | ||
729 | NAD | 26.5.1.4 [rand.req.eng] | Problem in [rand.req.eng]/3 | Yes | ||
730 | NAD | 26.5.1.5 [rand.req.adapt] | Comment on [rand.req.adapt]/3 e) | Yes | ||
733 | NAD | 26.5.1.6 [rand.req.dist] | Comment on [rand.req.dist]/9 | Yes | ||
656 | NAD Editorial | 26.5.2 [rand.synopsis] | Typo in subtract_with_carry_engine declaration | Yes | ||
515 | NAD | 26.5.2 [rand.synopsis] | Random number engine traits | Yes | ||
2351 | New | 26.5.3 [rand.eng] | Does .seed() completely reset state of engine? | Yes | 2 | |
1436 | C++11 | 26.5.3 [rand.eng] | Random number engine constructor concerns | Yes | ||
512 | NAD Editorial | 26.5.3 [rand.eng] | Seeding subtract_with_carry_01 from a single unsigned long | Yes | ||
513 | NAD Editorial | 26.5.3 [rand.eng] | Size of state for subtract_with_carry_01 | Yes | ||
516 | NAD Editorial | 26.5.3 [rand.eng] | Seeding subtract_with_carry_01 using a generator | Yes | ||
1437 | C++11 | 26.5.3.2 [rand.eng.mers] | Mersenne twister meaningless for word sizes less than two | Yes | ||
728 | CD1 | 26.5.3.2 [rand.eng.mers] | Problem in [rand.eng.mers]/6 | Yes | ||
799 | NAD | 26.5.3.2 [rand.eng.mers] | [tr.rand.eng.mers] and [rand.eng.mers] | Yes | ||
514 | NAD Editorial | 26.5.3.3 [rand.eng.sub] | Size of state for subtract_with_carry | Yes | ||
1438 | C++11 | 26.5.4.2 [rand.adapt.disc] | No definition for base() | Yes | ||
738 | NAD Editorial | 26.5.4.2 [rand.adapt.disc] | Editorial issue in [rand.adapt.disc]/3 | Yes | ||
609 | CD1 | 26.5.4.3 [rand.adapt.ibits] | missing static const | Yes | ||
508 | CD1 | 26.5.5 [rand.predef] | Bad parameters for ranlux64_base_01 | Yes | ||
796 | NAD | 26.5.5 [rand.predef] | ranlux48_base returns wrong value | Yes | ||
797 | NAD | 26.5.5 [rand.predef] | ranlux48 returns wrong value | Yes | ||
802 | NAD | 26.5.5 [rand.predef] | knuth_b returns wrong value | Yes | ||
548 | NAD | 26.5.6 [rand.device] | May random_device block? | Yes | ||
1068 | NAD | 26.5.6 [rand.device] | class random_device should be movable | Yes | ||
2352 | New | 26.5.7.1 [rand.util.seedseq] | Is a default-constructed std::seed_seq intended to produce a predictable .generate()? | No | 2 | |
2180 | C++14 | 26.5.7.1 [rand.util.seedseq] | Exceptions from std::seed_seq operations | Yes | ||
607 | CD1 | 26.5.7.1 [rand.util.seedseq] | Concern about short seed vectors | Yes | ||
608 | CD1 | 26.5.7.1 [rand.util.seedseq] | Unclear seed_seq construction details | Yes | ||
677 | CD1 | 26.5.7.1 [rand.util.seedseq] | Weaknesses in seed_seq::randomize [rand.util.seedseq] | Yes | ||
712 | CD1 | 26.5.7.1 [rand.util.seedseq] | seed_seq::size no longer useful | Yes | ||
782 | CD1 | 26.5.7.1 [rand.util.seedseq] | Extended seed_seq constructor is useless | Yes | ||
800 | Resolved | 26.5.7.1 [rand.util.seedseq] | Issues in 26.4.7.1 [rand.util.seedseq](6) | Yes | ||
803 | Resolved | 26.5.7.1 [rand.util.seedseq] | Simplification of seed_seq::seq_seq | Yes | ||
731 | NAD | 26.5.7.1 [rand.util.seedseq] | proposal for a customizable seed_seq | Yes | ||
1069 | NAD | 26.5.7.1 [rand.util.seedseq] | class seed_seq should support efficient move operations | Yes | ||
1313 | NAD | 26.5.7.1 [rand.util.seedseq] | Seed sequence's param function not useful for pure output iterator | Yes | ||
655 | CD1 | 26.5.7.2 [rand.util.canonical] | Signature of generate_canonical not useful | Yes | ||
739 | NAD | 26.5.7.2 [rand.util.canonical] | Defect in [rand.util.canonical]/3 | Yes | ||
549 | NAD Editorial | 26.5.8 [rand.dist] | Undefined variable in binomial_distribution | Yes | ||
511 | NAD | 26.5.8 [rand.dist] | Input_type for binomial_distribution | Yes | ||
509 | NAD | 26.5.8.2 [rand.dist.uni] | Uniform_int template parameters | Yes | ||
773 | NAD | 26.5.8.2 [rand.dist.uni] | issues with random | Yes | ||
2168 | New | 26.5.8.2.2 [rand.dist.uni.real] | Inconsistent specification of uniform_real_distribution constructor | No | 3 | |
510 | NAD | 26.5.8.3 [rand.dist.bern] | Input_type for bernoulli_distribution | Yes | ||
735 | NAD | 26.5.8.3.2 [rand.dist.bern.bin] | Unfortunate naming | Yes | ||
734 | CD1 | 26.5.8.5.3 [rand.dist.norm.chisq] | Unnecessary restriction in [rand.dist.norm.chisq] | Yes | ||
793 | Resolved | 26.5.8.6.1 [rand.dist.samp.discrete] | discrete_distribution missing constructor | Yes | ||
874 | Resolved | 26.5.8.6.1 [rand.dist.samp.discrete] | Missing initializer_list constructor for discrete_distribution | Yes | ||
736 | NAD | 26.5.8.6.1 [rand.dist.samp.discrete] | Comment on [rand.dist.samp.discrete] | Yes | ||
1439 | C++11 | 26.5.8.6.2 [rand.dist.samp.pconst] | Return from densities() functions? | Yes | ||
792 | CD1 | 26.5.8.6.2 [rand.dist.samp.pconst] | piecewise_constant_distribution is undefined for a range with just one endpoint | Yes | ||
794 | Resolved | 26.5.8.6.2 [rand.dist.samp.pconst] | piecewise_constant_distribution missing constructor | Yes | ||
875 | Resolved | 26.5.8.6.2 [rand.dist.samp.pconst] | Missing initializer_list constructor for piecewise_constant_distribution | Yes | ||
737 | NAD | 26.5.8.6.2 [rand.dist.samp.pconst] | Comment on [rand.dist.samp.pconst] | Yes | ||
791 | NAD | 26.5.8.6.2 [rand.dist.samp.pconst] | piecewise_constant_distribution::densities has wrong name | Yes | ||
1440 | C++11 | 26.5.8.6.3 [rand.dist.samp.plinear] | Incorrect specification for piecewise_linear_distribution | Yes | ||
2058 | C++14 | 26.6 [numarray] | valarray and begin/end | Yes | ||
621 | CD1 | 26.6 [numarray] | non-const copy assignment operators of helper arrays | Yes | ||
93 | NAD | 26.6 [numarray] | Incomplete Valarray Subset Definitions | Yes | ||
125 | TC1 | 26.6.2 [template.valarray] | valarray<T>::operator!() return type is inconsistent | Yes | ||
107 | NAD | 26.6.2 [template.valarray] | Valarray constructor is strange | Yes | ||
630 | C++11 | 26.6.2.2 [valarray.cons] | arrays of valarray | Yes | ||
1208 | C++11 | 26.6.2.2 [valarray.cons] | valarray initializer_list constructor has incorrect effects | Yes | ||
253 | CD1 | 26.6.2.2 [valarray.cons] | valarray helper functions are almost entirely useless | Yes | ||
620 | CD1 | 26.6.2.2 [valarray.cons] | valid uses of empty valarrays | Yes | ||
867 | NAD Editorial | 26.6.2.2 [valarray.cons] | Valarray and value-initialization | Yes | ||
2071 | C++14 | 26.6.2.3 [valarray.assign] | std::valarray move-assignment | Yes | ||
624 | CD1 | 26.6.2.3 [valarray.assign] | valarray assignment and arrays of unequal length |
Yes | ||
389 | CD1 | 26.6.2.4 [valarray.access] | Const overload of valarray::operator[] returns by value | Yes | 77 | |
636 | NAD Editorial | 26.6.2.4 [valarray.access] | 26.5.2.3 valarray::operator[] | Yes | ||
717 | NAD Editorial | 26.6.2.4 [valarray.access] | Incomplete valarray::operator[] specification in [valarray.access] | Yes | ||
77 | Dup | 26.6.2.4 [valarray.access] | Valarray operator[] const returning value | Yes | 389 | |
430 | C++11 | 26.6.2.5 [valarray.sub] | valarray subset operations | Yes | ||
188 | NAD | 26.6.2.7 [valarray.cassign] | valarray helpers missing augmented assignment operators | Yes | ||
1243 | NAD | 26.6.2.7 [valarray.cassign] | Missing operator+= (initializer_list<T>) for valarray | Yes | ||
618 | CD1 | 26.6.2.8 [valarray.members] | valarray::cshift() effects on empty array | Yes | ||
543 | CD1 | 26.6.4 [class.slice] | valarray slice default constructor | Yes | ||
106 | TC1 | 26.6.5 [template.slice.array] | Numeric library private members are implementation defined | Yes | ||
81 | NAD | 26.6.5 [template.slice.array] | Wrong declaration of slice operations | Yes | ||
123 | CD1 | 26.6.5.4 [slice.arr.fill] | Should valarray helper arrays fill functions be const? | Yes | ||
2115 | Open | 26.6.8 [template.mask.array] | Undefined behaviour for valarray assignments with mask_array index? | No | 4 | |
2055 | NAD Future | 26.7 [numeric.ops] | std::move in std::accumulate and other algorithms | Yes | ||
1067 | NAD Concepts | 26.7 [numeric.ops] | simplified wording for inner_product | Yes | ||
539 | C++11 | 26.7.4 [partial.sum] | partial_sum and adjacent_difference should mention requirements | Yes | ||
871 | C++11 | 26.7.6 [numeric.iota] | Iota's requirements on T are too strong | Yes | ||
2079 | New | 26.8 [c.math] | Required pow() overloads | No | 3 | |
2294 | Open | 26.8 [c.math] | <cstdlib> should declare abs(double) | Yes | 2 | |
2192 | Open | 26.8 [c.math] | Validity and return type of std::abs(0u) is unclear | Yes | 2 | |
2086 | C++14 | 26.8 [c.math] | Overly generic type support for math functions | Yes | ||
1441 | C++11 | 26.8 [c.math] | Floating-point test functions are incorrectly specified | Yes | ||
295 | CD1 | 26.8 [c.math] | Is abs defined in <cmath>? | Yes | ||
395 | CD1 | 26.8 [c.math] | inconsistencies in the definitions of rand() and random_shuffle() | Yes | ||
550 | CD1 | 26.8 [c.math] | What should the return type of pow(float,int) be? | Yes | ||
722 | CD1 | 26.8 [c.math] | Missing [c.math] functions nanf and nanl | Yes | ||
1327 | Resolved | 26.8 [c.math] | templates defined in <cmath> replacing C macros with the same name | Yes | ||
357 | NAD Editorial | 26.8 [c.math] | <cmath> float functions cannot return HUGE_VAL | Yes | ||
637 | NAD Editorial | 26.8 [c.math] | [c.math]/10 inconsistent return values | Yes | ||
690 | NAD Editorial | 26.8 [c.math] | abs(long long) should return long long | Yes | ||
213 | NAD | 26.8 [c.math] | Math function overloads ambiguous | Yes | ||
289 | NAD | 26.8 [c.math] | <cmath> requirements missing C float and long double versions | Yes | ||
323 | NAD | 26.8 [c.math] | abs() overloads in different headers | Yes | ||
583 | NAD | 26.8 [c.math] | div() for unsigned integral types | Yes | ||
584 | NAD | 26.8 [c.math] | missing int pow(int,int) functionality | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
423 | NAD Future | 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 | ||
55 | TC1 | 27 [input.output] | Invalid stream position is undefined | Yes | ||
366 | NAD | 27 [input.output] | Excessive const-qualification | Yes | ||
1141 | NAD Concepts | 27 [input.output] | Input/Output library not concept enabled | Yes | ||
623 | CD1 | 27.2.1 [iostream.limits.imbue] | pubimbue forbidden to call imbue |
Yes | ||
369 | CD1 | 27.4 [iostream.objects] | io stream objects and static ctors | Yes | ||
455 | CD1 | 27.4 [iostream.objects] | cerr::tie() and wcerr::tie() are overspecified | Yes | ||
574 | CD1 | 27.4 [iostream.objects] | DR 369 Contradicts Text | Yes | ||
155 | TC1 | 27.4 [iostream.objects] | Typo in naming the class defining the class Init | Yes | ||
29 | TC1 | 27.4.2 [narrow.stream.objects] | Ios_base::init doesn't exist | Yes | ||
178 | NAD | 27.4.2 [narrow.stream.objects] | Should clog and cerr initially be tied to cout? | Yes | ||
2087 | C++14 | 27.5 [iostreams.base] | iostream_category() and noexcept | Yes | ||
1257 | C++11 | 27.5 [iostreams.base] | Header <ios> still contains a concept_map |
Yes | ||
35 | TC1 | 27.5 [iostreams.base] | No manipulator unitbuf in synopsis | Yes | ||
2143 | C++14 | 27.5.3 [ios.base] | ios_base::xalloc should be thread-safe | Yes | ||
41 | TC1 | 27.5.3 [ios.base] | Ios_base needs clear(), exceptions() | Yes | 157 | |
50 | TC1 | 27.5.3 [ios.base] | Copy constructor and assignment operator of ios_base | Yes | ||
78 | TC1 | 27.5.3 [ios.base] | Typo: event_call_back | Yes | ||
331 | CD1 | 27.5.3.1.1 [ios::failure] | bad declaration of destructor for ios_base::failure | Yes | ||
363 | CD1 | 27.5.3.1.1 [ios::failure] | Missing exception specification in 27.4.2.1.1 | Yes | ||
48 | TC1 | 27.5.3.1.1 [ios::failure] | Use of non-existent exception constructor | Yes | ||
1123 | C++11 | 27.5.3.1.6 [ios::Init] | No requirement that standard streams be flushed | Yes | ||
418 | NAD | 27.5.3.1.6 [ios::Init] | exceptions thrown during iostream cleanup | Yes | ||
189 | TC1 | 27.5.3.2 [fmtflags.state] | setprecision() not specified correctly | Yes | ||
287 | NAD | 27.5.3.2 [fmtflags.state] | conflicting ios_base fmtflags | Yes | ||
47 | TC1 | 27.5.3.3 [ios.base.locales] | Imbue() and getloc() Returns clauses swapped | Yes | ||
156 | TC1 | 27.5.3.3 [ios.base.locales] | Typo in imbue() description | Yes | ||
49 | CD1 | 27.5.3.4 [ios.members.static] | Underspecification of ios_base::sync_with_stdio | Yes | ||
36 | TC1 | 27.5.3.5 [ios.base.storage] | Iword & pword storage lifetime omitted | Yes | ||
157 | Dup | 27.5.3.5 [ios.base.storage] | Meaningless error handling for pword() and iword() | Yes | 41 | |
220 | TC1 | 27.5.3.7 [ios.base.cons] | ~ios_base() usage valid? | Yes | ||
441 | CD1 | 27.5.4 [fpos] | Is fpos::state const? | Yes | ||
6 | NAD | 27.5.4 [fpos] | File position not an offset unimplementable | Yes | ||
332 | NAD | 27.5.4 [fpos] | Consider adding increment and decrement operators to std::fpos< T > | Yes | ||
573 | NAD | 27.5.4 [fpos] | C++0x file positioning should handle modern file sizes | Yes | ||
52 | TC1 | 27.5.4.2 [fpos.operations] | Small I/O problems | Yes | ||
1444 | Dup | 27.5.4.2 [fpos.operations] | OFF_T is not defined | Yes | 1414 | |
194 | NAD | 27.5.5 [ios] | rdbuf() functions poorly specified | Yes | ||
2214 | Open | 27.5.5.2 [basic.ios.cons] | Clarify basic_ios::init call restrictions | Yes | 4 | |
1249 | C++11 | 27.5.5.2 [basic.ios.cons] | basic_ios default ctor | Yes | ||
53 | TC1 | 27.5.5.2 [basic.ios.cons] | Basic_ios destructor unspecified | Yes | ||
145 | NAD | 27.5.5.2 [basic.ios.cons] | adjustfield lacks default value | Yes | ||
835 | C++11 | 27.5.5.3 [basic.ios.members] | Tying two streams together (correction to DR 581) | Yes | ||
1104 | C++11 | 27.5.5.3 [basic.ios.members] | basic_ios::move should accept lvalues | Yes | ||
1183 | C++11 | 27.5.5.3 [basic.ios.members] | basic_ios::set_rdbuf may break class invariants | Yes | ||
256 | CD1 | 27.5.5.3 [basic.ios.members] | typo in 27.4.4.2, p17: copy_event does not exist | Yes | ||
292 | CD1 | 27.5.5.3 [basic.ios.members] | effects of a.copyfmt (a) | Yes | ||
837 | NAD Editorial | 27.5.5.3 [basic.ios.members] |
basic_ios::copyfmt() overly loosely specified
|
Yes | ||
1094 | C++11 | 27.5.5.4 [iostate.flags] | Replace "unspecified-bool-type" by "explicit operator bool() const" in I/O library | Yes | ||
272 | CD1 | 27.5.5.4 [iostate.flags] | Missing parentheses around subexpression | Yes | 569 | |
412 | CD1 | 27.5.5.4 [iostate.flags] | Typo in 27.4.4.3 | Yes | 429 | |
468 | CD1 | 27.5.5.4 [iostate.flags] | unexpected consequences of ios_base::operator void*() | Yes | ||
429 | Dup | 27.5.5.4 [iostate.flags] | typo in basic_ios::clear(iostate) | Yes | 412 | |
569 | Dup | 27.5.5.4 [iostate.flags] | Postcondition for basic_ios::clear(iostate) incorrectly stated | Yes | 272 | |
255 | NAD Future | 27.6.3 [streambuf] | Why do basic_streambuf<>::pbump() and gbump() take an int? | Yes | ||
56 | TC1 | 27.6.3 [streambuf] | Showmanyc's return type | Yes | ||
122 | TC1 | 27.6.3 [streambuf] | streambuf/wstreambuf description should not say they are specializations | Yes | ||
54 | TC1 | 27.6.3.1 [streambuf.cons] | Basic_streambuf's destructor | Yes | ||
421 | NAD | 27.6.3.1 [streambuf.cons] | is basic_streambuf copy-constructible? | Yes | ||
59 | TC1 | 27.6.3.3.2 [streambuf.get.area] | Ambiguity in specification of gbump | Yes | ||
364 | CD1 | 27.6.3.4.2 [streambuf.virt.buffer] | Inconsistent wording in 27.5.2.4.2 | Yes | ||
158 | TC1 | 27.6.3.4.2 [streambuf.virt.buffer] | Underspecified semantics for setbuf() | Yes | ||
159 | TC1 | 27.6.3.4.3 [streambuf.virt.get] | Strange use of underflow() | Yes | ||
32 | TC1 | 27.6.3.4.4 [streambuf.virt.pback] | Pbackfail description inconsistent | Yes | ||
565 | C++11 | 27.6.3.4.5 [streambuf.virt.put] | xsputn inefficient | Yes | ||
567 | CD1 | 27.7 [iostream.format] | streambuf inserter and extractor should be unformatted | Yes | ||
1445 | Resolved | 27.7 [iostream.format] | Several iostreams member functions incorrectly specified | Yes | ||
1447 | Resolved | 27.7 [iostream.format] | Request to resolve issue LWG 1328 | Yes | ||
309 | NAD | 27.7 [iostream.format] | Does sentry catch exceptions? | Yes | ||
1148 | NAD | 27.7 [iostream.format] | Wrong argument type of I/O stream manipulators setprecision() and setw() | Yes | ||
1446 | NAD | 27.7 [iostream.format] | Move and swap for I/O streams | Yes | ||
911 | C++11 | 27.7.2 [input.streams] | I/O streams and move/swap semantic | Yes | ||
160 | TC1 | 27.7.2.1 [istream] | Typo: Use of non-existing function exception() | Yes | ||
113 | NAD | 27.7.2.1 [istream] | Missing/extra iostream sync semantics | Yes | ||
2036 | NAD | 27.7.2.1 [istream] | istream >> char and eofbit | Yes | ||
419 | C++11 | 27.7.2.1.3 [istream::sentry] | istream extractors not setting failbit if eofbit is already set | Yes | ||
26 | TC1 | 27.7.2.1.3 [istream::sentry] | Bad sentry example | Yes | ||
195 | TC1 | 27.7.2.1.3 [istream::sentry] | Should basic_istream::sentry's constructor ever set eofbit? | Yes | ||
1328 | Resolved | 27.7.2.1.3 [istream::sentry] | istream extractors not setting failbit if eofbit is already set | Yes | ||
203 | NAD | 27.7.2.1.3 [istream::sentry] | basic_istream::sentry::sentry() is uninstantiable with ctype<user-defined type> | Yes | ||
2349 | New | 27.7.2.2.1 [istream.formatted.reqmts] | Clarify input/output function rethrow behavior | Yes | 3 | |
373 | CD1 | 27.7.2.2.1 [istream.formatted.reqmts] | Are basic_istream and basic_ostream to use (exceptions()&badbit) != 0 ? | Yes | ||
60 | TC1 | 27.7.2.2.1 [istream.formatted.reqmts] | What is a formatted input function? | Yes | 162, 163, 166 | |
696 | C++11 | 27.7.2.2.2 [istream.formatted.arithmetic] | istream::operator>>(int&) broken |
Yes | ||
118 | CD1 | 27.7.2.2.2 [istream.formatted.arithmetic] | basic_istream uses nonexistent num_get member functions | Yes | ||
661 | CD1 | 27.7.2.2.2 [istream.formatted.arithmetic] | New 27.6.1.2.2 changes make special extractions useless | Yes | ||
161 | TC1 | 27.7.2.2.2 [istream.formatted.arithmetic] | Typo: istream_iterator vs. istreambuf_iterator | Yes | ||
413 | CD1 | 27.7.2.2.3 [istream::extractors] | Proposed resolution to LDR#64 still wrong | Yes | ||
13 | TC1 | 27.7.2.2.3 [istream::extractors] | Eos refuses to die | Yes | ||
64 | TC1 | 27.7.2.2.3 [istream::extractors] | Exception handling in basic_istream::operator>>(basic_streambuf*) | Yes | ||
68 | TC1 | 27.7.2.2.3 [istream::extractors] | Extractors for char* should store null at end | Yes | ||
58 | NAD | 27.7.2.2.3 [istream::extractors] | Extracting a char from a wide-oriented stream | Yes | ||
639 | NAD | 27.7.2.2.3 [istream::extractors] | Still problems with exceptions during streambuf IO | Yes | ||
162 | Dup | 27.7.2.2.3 [istream::extractors] | Really "formatted input functions"? | Yes | 60 | |
2243 | New | 27.7.2.3 [istream.unformatted] | istream::putback problem | No | 3 | |
2244 | New | 27.7.2.3 [istream.unformatted] | Issue on basic_istream::seekg | Yes | 3 | |
2085 | C++14 | 27.7.2.3 [istream.unformatted] | Wrong description of effect 1 of basic_istream::ignore | Yes | ||
136 | CD1 | 27.7.2.3 [istream.unformatted] | seekp, seekg setting wrong streams? | Yes | ||
243 | CD1 | 27.7.2.3 [istream.unformatted] | get and getline when sentry reports failure | Yes | ||
370 | CD1 | 27.7.2.3 [istream.unformatted] | Minor error in basic_istream::get | Yes | ||
531 | CD1 | 27.7.2.3 [istream.unformatted] | array forms of unformatted input functions | Yes | ||
537 | CD1 | 27.7.2.3 [istream.unformatted] | Typos in the signatures in 27.6.1.3/42-43 and 27.6.2.4 | Yes | ||
566 | CD1 | 27.7.2.3 [istream.unformatted] | array forms of unformatted input function undefined for zero-element arrays | Yes | ||
61 | TC1 | 27.7.2.3 [istream.unformatted] | Ambiguity in iostreams exception policy | Yes | ||
62 | TC1 | 27.7.2.3 [istream.unformatted] | Sync's return value | Yes | ||
129 | TC1 | 27.7.2.3 [istream.unformatted] | Need error indication from seekp() and seekg() | Yes | ||
172 | TC1 | 27.7.2.3 [istream.unformatted] | Inconsistent types for basic_istream::ignore() | Yes | ||
2131 | NAD | 27.7.2.3 [istream.unformatted] | Member function getline taking a string as parameter | Yes | ||
399 | NAD | 27.7.2.3 [istream.unformatted] | volations of unformatted input function requirements | Yes | ||
342 | NAD | 27.7.2.3 [istream.unformatted] | seek and eofbit | Yes | ||
163 | Dup | 27.7.2.3 [istream.unformatted] | Return of gcount() after a call to gcount | Yes | 60 | |
415 | CD1 | 27.7.2.4 [istream.manip] | behavior of std::ws | Yes | ||
271 | CD1 | 27.7.2.5 [iostreamclass] | basic_iostream missing typedefs | Yes | ||
135 | NAD | 27.7.2.5.1 [iostream.cons] | basic_iostream doubly initialized | Yes | ||
2328 | Open | 27.7.2.6 [istream.rvalue] | Rvalue stream extraction should use perfect forwarding | Yes | 3 | |
2221 | New | 27.7.3 [output.streams] | No formatted output operator for nullptr | No | 3 | |
2342 | New | 27.7.3.1 [ostream] | User conversion to wchar_t const* or to wchar_t not invoked for operator<< | Yes | 4 | |
165 | CD1 | 27.7.3.1 [ostream] | xsputn(), pubsync() never called by basic_ostream members? | Yes | ||
311 | CD1 | 27.7.3.1 [ostream] | Incorrect wording in basic_ostream class synopsis | Yes | ||
442 | CD1 | 27.7.3.4 [ostream::sentry] | sentry::operator bool() inconsistent signature | Yes | ||
397 | NAD Editorial | 27.7.3.4 [ostream::sentry] | ostream::sentry dtor throws exceptions | Yes | ||
398 | NAD | 27.7.3.4 [ostream::sentry] | effects of end-of-file on unformatted input functions | Yes | ||
2341 | C++14 | 27.7.3.5 [ostream.seeks] | Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) | Yes | 0 | |
394 | NAD | 27.7.3.6.1 [ostream.formatted.reqmts] | behavior of formatted output on failure | Yes | ||
117 | CD1 | 27.7.3.6.2 [ostream.inserters.arithmetic] | basic_ostream uses nonexistent num_put member functions | Yes | ||
640 | CD1 | 27.7.3.6.2 [ostream.inserters.arithmetic] | 27.6.2.5.2 does not handle (unsigned) long long | Yes | ||
437 | NAD | 27.7.3.6.2 [ostream.inserters.arithmetic] | Formatted output of function pointers is confusing | Yes | ||
166 | Dup | 27.7.3.6.3 [ostream.inserters] | Really "formatted output functions"? | Yes | 60 | |
474 | CD1 | 27.7.3.6.4 [ostream.inserters.character] | confusing Footnote 297 | Yes | ||
167 | CD1 | 27.7.3.6.4 [ostream.inserters.character] | Improper use of traits_type::length() | Yes | ||
581 | CD1 | 27.7.3.7 [ostream.unformatted] | flush() not unformatted function |
Yes | ||
63 | TC1 | 27.7.3.7 [ostream.unformatted] | Exception-handling policy for unformatted output | Yes | ||
168 | TC1 | 27.7.3.7 [ostream.unformatted] | Typo: formatted vs. unformatted | Yes | ||
333 | CD1 | 27.7.3.8 [ostream.manip] | does endl imply synchronization with the device? | Yes | ||
1203 | NAD Future | 27.7.3.9 [ostream.rvalue] | More useful rvalue stream insertion | Yes | ||
183 | CD1 | 27.7.4 [std.manip] | I/O stream manipulators don't work for wide character streams | Yes | ||
216 | Dup | 27.7.4 [std.manip] | setbase manipulator description flawed | Yes | 193 | |
810 | C++11 | 27.7.5 [ext.manip] | Missing traits dependencies in operational semantics of extended manipulators | Yes | ||
1299 | C++11 | 27.7.5 [ext.manip] | Confusing typo in specification for get_time | Yes | ||
692 | CD1 | 27.7.5 [ext.manip] | get_money and put_money should be formatted I/O functions |
Yes | ||
641 | NAD Editorial | 27.7.5 [ext.manip] | Editorial fix for 27.6.4 (N2134) | Yes | ||
2272 | C++14 | 27.7.6 [quoted.manip] | quoted should use char_traits::eq for character comparison | Yes | ||
2344 | C++14 | 27.7.6 [quoted.manip] | quoted()'s interaction with padding is unclear | Yes | 1 | |
252 | CD1 | 27.8 [string.streams] | missing casts/C-style casts used in iostreams | Yes | ||
562 | CD1 | 27.8 [string.streams] | stringbuf ctor inefficient | Yes | ||
128 | NAD | 27.8 [string.streams] | Need open_mode() function for file stream, string streams, file buffers, and string buffers | Yes | ||
251 | CD1 | 27.8.2 [stringbuf] | basic_stringbuf missing allocator_type | Yes | ||
238 | CD1 | 27.8.2.1 [stringbuf.cons] | Contradictory results of stringbuf initialization. | Yes | ||
1251 | NAD | 27.8.2.1 [stringbuf.cons] | move constructing basic_stringbuf | Yes | ||
1448 | C++11 | 27.8.2.3 [stringbuf.members] | Concerns about basic_stringbuf::str(basic_string) postconditions | Yes | ||
2286 | New | 27.8.2.4 [stringbuf.virtuals] | stringbuf::underflow() underspecified | Yes | 4 | |
564 | C++11 | 27.8.2.4 [stringbuf.virtuals] | stringbuf seekpos underspecified | Yes | ||
375 | CD1 | 27.8.2.4 [stringbuf.virtuals] | basic_ios should be ios_base in 27.7.1.3 | Yes | ||
376 | CD1 | 27.8.2.4 [stringbuf.virtuals] | basic_streambuf semantics | Yes | ||
432 | CD1 | 27.8.2.4 [stringbuf.virtuals] | stringbuf::overflow() makes only one write position available | Yes | ||
453 | CD1 | 27.8.2.4 [stringbuf.virtuals] | basic_stringbuf::seekoff need not always fail for an empty stream | Yes | ||
563 | CD1 | 27.8.2.4 [stringbuf.virtuals] | stringbuf seeking from end | Yes | ||
169 | TC1 | 27.8.2.4 [stringbuf.virtuals] | Bad efficiency of overflow() mandated | Yes | ||
1449 | C++11 | 27.8.3 [istringstream] | Incomplete specification of header <cinttypes> | Yes | ||
45 | NAD | 27.8.4 [ostringstream] | Stringstreams read/write pointers initial position unclear | Yes | ||
170 | TC1 | 27.8.5 [stringstream] | Inconsistent definition of traits_type | Yes | ||
2121 | New | 27.8.6 [stringstream.cons] | app for string streams | No | 3 | |
105 | Dup | 27.9 [file.streams] | fstream ctors argument types desired | Yes | 454 | |
420 | CD1 | 27.9.1 [fstreams] | is std::FILE a complete type? | Yes | ||
444 | CD1 | 27.9.1 [fstreams] | Bad use of casts in fstream | Yes | ||
460 | CD1 | 27.9.1 [fstreams] | Default modes missing from basic_fstream member specifications | Yes | ||
73 | NAD | 27.9.1 [fstreams] | is_open should be const | Yes | ||
863 | NAD | 27.9.1 [fstreams] | What is the state of a stream after close() succeeds | Yes | ||
643 | CD1 | 27.9.1.1 [filebuf] | Impossible "as if" clauses | Yes | ||
443 | CD1 | 27.9.1.4 [filebuf.members] | filebuf::close() inconsistent use of EOF | Yes | ||
596 | CD1 | 27.9.1.4 [filebuf.members] | 27.8.1.3 Table 112 omits "a+" and "a+b" modes | Yes | ||
454 | NAD | 27.9.1.4 [filebuf.members] | basic_filebuf::open should accept wchar_t names | Yes | 105 | |
171 | CD1 | 27.9.1.5 [filebuf.virtuals] | Strange seekpos() semantics due to joint position | Yes | ||
173 | TC1 | 27.9.1.5 [filebuf.virtuals] | Inconsistent types for basic_filebuf::setbuf() | Yes | ||
285 | CD1 | 27.9.1.7 [ifstream.cons] | minor editorial errors in fstream ctors | Yes | ||
900 | C++11 | 27.9.1.8 [ifstream.assign] | Stream move-assignment | Yes | ||
409 | CD1 | 27.9.1.9 [ifstream.members] | Closing an fstream should clear error state | Yes | ||
22 | TC1 | 27.9.1.9 [ifstream.members] | Member open vs. flags | Yes | ||
592 | NAD Editorial | 27.9.1.9 [ifstream.members] | Incorrect treatment of rdbuf()->close() return type | Yes | ||
642 | NAD Editorial | 27.9.1.9 [ifstream.members] | Invalidated fstream footnotes in N2134 | Yes | ||
1150 | NAD Future | 27.9.1.14 [fstream] | wchar_t, char16_t and char32_t filenames | Yes | ||
622 | CD1 | 27.9.1.17 [fstream.members] | behavior of filebuf dtor and close on error |
Yes | ||
984 | C++11 | 27.9.2 [c.files] | Does <cinttypes> have macro guards? | Yes | ||
2249 | Resolved | 27.9.2 [c.files] | [CD] Remove gets from <cstdio> | Yes | ||
2043 | NAD | 27.9.2 [c.files] | std{in,out,err} should be usable as field names | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
523 | NAD Future | 28 [re] | regex case-insensitive character ranges are unimplementable as specified | Yes | ||
524 | CD1 | 28 [re] | regex named character classes and case-insensitivity don't mix | Yes | ||
1142 | NAD Concepts | 28 [re] | Regular expressions library not concept enabled | Yes | ||
2329 | C++14 | 28.4 [re.syn] | regex_match()/regex_search() with match_results should forbid temporary strings | Yes | 2 | |
1263 | NAD | 28.4 [re.syn] | missing swap overloads for regex | Yes | ||
2053 | C++14 | 28.5 [re.const] | Errors in regex bitmask types | Yes | ||
2331 | Open | 28.5.1 [re.synopt] | regex_constants::collate's effects are inaccurately summarized | Yes | 3 | |
2330 | C++14 | 28.5.1 [re.synopt] | regex("meow", regex::icase) is technically forbidden but should be permitted | Yes | 0 | |
2359 | C++14 | 28.5.1 [re.synopt] | How does regex_constants::nosubs affect basic_regex::mark_count()? | Yes | 0 | |
1450 | C++14 | 28.5.2 [re.matchflag] | Contradiction in regex_constants | Yes | 3 | |
2338 | New | 28.7 [re.traits] | [re.traits]/7 expects of locale facets something not guaranteed by [locale.facet]/4 | Yes | 3 | |
2271 | C++14 | 28.7 [re.traits] | regex_traits::lookup_classname specification unclear | Yes | ||
2018 | C++14 | 28.7 [re.traits] | [CD] regex_traits::isctype Returns clause is wrong | Yes | ||
1337 | C++11 | 28.7 [re.traits] | Swapped arguments in regex_traits::isctype | Yes | ||
1396 | NAD Future | 28.8 [re.regex] | regex should support allocators | Yes | 1451 | |
723 | C++11 | 28.8 [re.regex] | basic_regex should be moveable | Yes | ||
2029 | C++11 | 28.8 [re.regex] | Missing 'noexcept' on basic_regex move-assignment operator | Yes | ||
628 | CD1 | 28.8 [re.regex] | Inconsistent definition of basic_regex constructor | Yes | ||
1451 | Dup | 28.8 [re.regex] | regex should support allocators | Yes | 1396 | |
1014 | C++11 | 28.8.2 [re.regex.construct] | basic_regex should be created/assigned from initializer lists | Yes | ||
682 | CD1 | 28.8.2 [re.regex.construct] | basic_regex ctor takes InputIterator or ForwardIterator? | Yes | ||
2137 | Open | 28.8.3 [re.regex.assign] | Misleadingly constrained post-condition in the presence of exceptions | Yes | 3 | |
2001 | C++11 | 28.8.3 [re.regex.assign] | Class template basic_regex uses non existent string_type | Yes | ||
1180 | C++11 | 28.9.1 [re.submatch.members] | Missing string_type member typedef in class sub_match | Yes | ||
2217 | Tentatively Ready | 28.9.2 [re.submatch.op] | operator==(sub_match, string) slices on embedded '\0's | Yes | 2 | |
1181 | C++11 | 28.9.2 [re.submatch.op] | Invalid sub_match comparison operators | Yes | ||
681 | CD1 | 28.9.2 [re.submatch.op] | Operator functions impossible to compare are defined in [re.submatch.op] | Yes | ||
2195 | Open | 28.10 [re.results] | Missing constructors for match_results | Yes | 3 | |
2306 | C++14 | 28.10 [re.results] | match_results::reference should be value_type&, not const value_type& | Yes | 4 | |
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 | ||
2183 | New | 28.10.1 [re.results.const] | Muddled allocator requirements for match_results constructors | No | 3 | |
2184 | New | 28.10.1 [re.results.const] | Muddled allocator requirements for match_results assignments | No | 3 | |
2191 | New | 28.10.1 [re.results.const] | Incorrect specification of match_results(match_results&&) | No | 4 | |
1209 | C++11 | 28.10.1 [re.results.const] | match_results should be moveable | Yes | ||
1453 | Resolved | 28.10.4 [re.results.acc] | Default constructed match_results behavior for certain operations | Yes | ||
1452 | NAD | 28.10.4 [re.results.acc] | "target sequence" is not defined | Yes | ||
646 | CD1 | 28.10.5 [re.results.form] | const incorrect match_result members | Yes | ||
2002 | Resolved | 28.10.8 [re.results.nonmember] | Class template match_results does not specify the semantics of operator== | Yes | ||
2273 | New | 28.11.2 [re.alg.match] | regex_match ambiguity | No | 2 | |
2205 | C++14 | 28.11.2 [re.alg.match] | Problematic postconditions of regex_match and regex_search | Yes | 0 | |
647 | NAD Editorial | 28.11.3 [re.alg.search] | Inconsistent regex_search params | Yes | ||
2216 | New | 28.11.4 [re.alg.replace] | regex_replace(basic_string) allocator handling | No | 3 | |
2213 | C++14 | 28.11.4 [re.alg.replace] | Return value of std::regex_replace | Yes | 0 | |
727 | C++11 | 28.11.4 [re.alg.replace] | regex_replace() doesn't accept basic_strings with custom traits and allocators | Yes | ||
726 | NAD | 28.11.4 [re.alg.replace] | Missing regex_replace() overloads | Yes | ||
2332 | C++14 | 28.12 [re.iter] | regex_iterator/regex_token_iterator should forbid temporary regexes | Yes | 2 | |
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 | C++11 | 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 | 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 | ||
2220 | New | 28.12.2.2 [re.tokiter.comp] | Under-specification of operator== for regex_token_iterator | No | 2 | |
2343 | New | 28.13 [re.grammar] | Is the value of the ECMA-262 RegExp object's multiline property really false? | No | 2 | |
716 | C++11 | 28.13 [re.grammar] | Production in [re.grammar] not actually modified | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
880 | Resolved | 29 [atomics] | Missing atomic exchange parameter | Yes | 942 | |
923 | Resolved | 29 [atomics] | atomics with floating-point | Yes | ||
924 | Resolved | 29 [atomics] | structs with internal padding | Yes | ||
1143 | Resolved | 29 [atomics] | Atomic operations library not concept enabled | Yes | ||
1145 | Resolved | 29 [atomics] | Inappropriate headers for atomics | Yes | ||
1455 | Resolved | 29 [atomics] | C language compatibility for atomics | Yes | 1454 | |
1523 | Resolved | 29 [atomics] | noexcept for Clause 29 | Yes | ||
879 | NAD Editorial | 29 [atomics] | Atomic load const qualification | Yes | ||
937 | NAD Editorial | 29 [atomics] | Atomics for standard typedef types | Yes | ||
1456 | NAD | 29 [atomics] | Missing fixed-size atomic_ typedefs | Yes | ||
1461 | NAD | 29 [atomics] | Rename all ATOMIC_* macros as STD_ATOMIC_* | Yes | ||
942 | Dup | 29 [atomics] | Atomics synopsis typo | Yes | 880 | |
1454 | Dup | 29 [atomics] | Ensure C compatibility for atomics | Yes | 1455 | |
2236 | New | 29.2 [atomics.syn] | kill_dependency unconditionally noexcept | No | ||
1457 | Resolved | 29.2 [atomics.syn] | Splitting lock-free properties | Yes | ||
2037 | Resolved | 29.2 [atomics.syn] | atomic free functions incorrectly specified | Yes | ||
2265 | New | 29.3 [atomics.order] | 29.3p9 appears to rule out some acceptable executions | No | ||
1459 | NAD Future | 29.3 [atomics.order] | Overlapping evaluations are allowed | Yes | 1458 | |
2130 | C++14 | 29.3 [atomics.order] | Missing ordering constraints | Yes | ||
818 | CD1 | 29.3 [atomics.order] | wording for memory ordering | Yes | ||
2034 | Resolved | 29.3 [atomics.order] | Initialization of atomics is misspecified so that it doesn't preserve sequential consistency | Yes | ||
926 | NAD Editorial | 29.3 [atomics.order] | Sequentially consistent fences, relaxed operations and modification order | Yes | ||
1458 | Dup | 29.3 [atomics.order] | Overlapping evaluations are allowed | Yes | 1459 | |
1146 | Resolved | 29.4 [atomics.lockfree] | "lockfree" does not say enough | Yes | ||
1460 | Resolved | 29.4 [atomics.lockfree] | Missing lock-free property for type bool should be added | Yes | ||
2165 | Core | 29.5 [atomics.types.generic] | std::atomic<X> requires X to be nothrow default constructible | No | ||
768 | CD1 | 29.5 [atomics.types.generic] | Typos in [atomics]? | Yes | ||
845 | CD1 | 29.5 [atomics.types.generic] | atomics cannot support aggregate initialization | Yes | ||
944 | Resolved | 29.5 [atomics.types.generic] | atomic<bool> derive from atomic_bool? | Yes | ||
1469 | Resolved | 29.5 [atomics.types.generic] | atomic<T*> inheritance from atomic_address breaks type safety | Yes | ||
2024 | Resolved | 29.5 [atomics.types.generic] | Inconsistent implementation requirements for atomic<integral> and atomic<T*> | Yes | ||
1478 | C++11 | 29.6 [atomics.types.operations] | Clarify race conditions in atomics initialization | Yes | ||
777 | CD1 | 29.6 [atomics.types.operations] | Atomics Library Issue | Yes | ||
846 | CD1 | 29.6 [atomics.types.operations] | No definition for constructor | Yes | ||
1043 | Resolved | 29.6 [atomics.types.operations] | Clarify that compare_exchange is not a read-modify-write operation | Yes | ||
1147 | Resolved | 29.6 [atomics.types.operations] | Non-volatile atomic functions | Yes | ||
864 | NAD Editorial | 29.6 [atomics.types.operations] | Defect in atomic wording | Yes | ||
1471 | NAD Editorial | 29.6 [atomics.types.operations] | Default constructor of atomics needs specification | Yes | ||
1472 | NAD Editorial | 29.6 [atomics.types.operations] | Incorrect semantics of atomic_init | Yes | ||
1473 | NAD | 29.6 [atomics.types.operations] | Incomplete memory order specifications | Yes | ||
1470 | Dup | 29.6 [atomics.types.operations] | "Same-ness" curiosities | Yes | 1474 | |
1475 | Dup | 29.6 [atomics.types.operations] | weak compare-and-exchange confusion II | Yes | 1474 | |
1476 | Dup | 29.6 [atomics.types.operations] | Meaningless specification of spurious failure | Yes | 1474 | |
1477 | Dup | 29.6 [atomics.types.operations] | weak compare-and-exchange confusion III | Yes | 1474 | |
2334 | New | 29.6.5 [atomics.types.operations.req] | atomic's default constructor requires "uninitialized" state even for types with non-trivial default-constructor | Yes | ||
1474 | C++11 | 29.6.5 [atomics.types.operations.req] | weak compare-and-exchange confusion | Yes | 1470, 1475, 1476, 1477 | |
2138 | C++14 | 29.7 [atomics.flag] | atomic_flag::clear should not accept memory_order_consume | Yes | ||
2159 | C++14 | 29.7 [atomics.flag] | atomic_flag initialization | Yes | ||
1479 | C++11 | 29.8 [atomics.fences] | Fence functions should be extern "C" | Yes | ||
1480 | C++11 | 29.8 [atomics.fences] | Atomic fences don't have synchronizes with relation | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
1089 | C++11 | 30 [thread] | Unify "Throws: Nothing." specifications | Yes | ||
1442 | NAD Editorial | 30 [thread] | "happens-before" should be "synchronizes-with" | Yes | 1443 | |
1443 | Dup | 30 [thread] | Imposed happens-before edges are not made transitive | Yes | 1442 | |
1139 | NAD Concepts | 30 [thread] | Thread support library not concept enabled | Yes | ||
1481 | Resolved | 30.2 [thread.req] | Missing Lockable requirements | Yes | ||
1108 | C++11 | 30.2.2 [thread.req.exception] | thread.req.exception overly constrains implementations | Yes | ||
2379 | New | 30.2.3 [thread.req.native] | Obtaining native handle of the current thread | Yes | ||
1158 | C++11 | 30.2.4 [thread.req.timing] | Encouragement to use monotonic clock | Yes | ||
1482 | Resolved | 30.2.4 [thread.req.timing] | Timeout operations are under-specified | Yes | ||
1483 | NAD Editorial | 30.3 [thread.threads] | __STDCPP_THREADS spelling | Yes | ||
1484 | NAD Future | 30.3.1 [thread.thread.class] | Need a way to join a thread with a timeout | Yes | ||
1277 | C++11 | 30.3.1.1 [thread.thread.id] | std::thread::id should be trivially copyable | Yes | ||
783 | CD1 | 30.3.1.1 [thread.thread.id] | thread::id reuse | Yes | ||
889 | Resolved | 30.3.1.1 [thread.thread.id] | thread::id comparisons | Yes | ||
1485 | NAD | 30.3.1.1 [thread.thread.id] | Unclear thread::id specification | Yes | ||
967 | C++11 | 30.3.1.2 [thread.thread.constr] | Various threading bugs #17 | Yes | ||
891 | C++11 | 30.3.1.2 [thread.thread.constr] | std::thread, std::call_once issue | Yes | ||
929 | C++11 | 30.3.1.2 [thread.thread.constr] | Thread constructor | Yes | ||
1176 | NAD | 30.3.1.2 [thread.thread.constr] | Make thread constructor non-variadic | Yes | ||
963 | C++11 | 30.3.1.5 [thread.thread.member] | Various threading bugs #13 | Yes | ||
1033 | C++11 | 30.3.1.5 [thread.thread.member] | thread::join() effects? | Yes | ||
888 | C++11 | 30.3.2 [thread.thread.this] | this_thread::yield too strong | Yes | ||
1487 | C++11 | 30.3.2 [thread.thread.this] | Clock related operations exception specifications conflict | Yes | ||
1486 | NAD | 30.3.2 [thread.thread.this] | Value of this_thread::get_id() underspecified for detached thread | Yes | ||
1488 | NAD Future | 30.4 [thread.mutex] | Improve interoperability between the C++0x and C1x threads APIs | Yes | ||
1044 | C++11 | 30.4 [thread.mutex] | Empty tag types should be constexpr literals | Yes | ||
1268 | Resolved | 30.4 [thread.mutex] | The Mutex requirements in 30.4.1 and 30.4.2 are wrong | Yes | ||
1489 | NAD Editorial | 30.4 [thread.mutex] | unlock functions and unlock mutex requirements are inconsistent | Yes | ||
2126 | Pending NAD Editorial | 30.4.1 [thread.mutex.requirements] | Several specification problems in regard to mutex requirements | Yes | ||
936 | NAD Future | 30.4.1 [thread.mutex.requirements] | Mutex type overspecified | Yes | 961 | |
961 | NAD Future | 30.4.1 [thread.mutex.requirements] | Various threading bugs #11 | Yes | 936 | |
1493 | NAD Future | 30.4.1 [thread.mutex.requirements] | Add mutex, recursive_mutex, is_locked function | Yes | ||
960 | C++11 | 30.4.1 [thread.mutex.requirements] | Various threading bugs #10 | Yes | ||
968 | C++11 | 30.4.1 [thread.mutex.requirements] | Various threading bugs #18 | Yes | ||
1218 | C++11 | 30.4.1 [thread.mutex.requirements] | mutex destructor synchronization | Yes | ||
1490 | Resolved | 30.4.1 [thread.mutex.requirements] | Mutex requirements too stringent | Yes | ||
1491 | Resolved | 30.4.1 [thread.mutex.requirements] | try_lock does not guarantee forward progress | Yes | ||
1492 | Resolved | 30.4.1 [thread.mutex.requirements] | Mutex requirements should not be bound to threads | Yes | ||
980 | NAD | 30.4.1 [thread.mutex.requirements] | mutex lock() missing error conditions | Yes | ||
2309 | New | 30.4.1.2 [thread.mutex.requirements.mutex] | mutex::lock() should not throw device_or_resource_busy | No | ||
2134 | Pending NAD Editorial | 30.4.1.2 [thread.mutex.requirements.mutex] | Redundant Mutex requirement? | Yes | ||
2090 | NAD | 30.4.1.2 [thread.mutex.requirements.mutex] | Minor Overconstraint in Mutex Types | Yes | ||
893 | C++11 | 30.4.1.2.1 [thread.mutex.class] | std::mutex issue | Yes | 905 | |
828 | Resolved | 30.4.1.2.1 [thread.mutex.class] | Static initialization for std::mutex? | Yes | ||
905 | Dup | 30.4.1.2.1 [thread.mutex.class] | Mutex specification questions | Yes | 893 | |
2125 | Pending NAD Editorial | 30.4.1.3 [thread.timedmutex.requirements] | TimedMutex specification problem | Yes | ||
2091 | C++14 | 30.4.1.3 [thread.timedmutex.requirements] | Misplaced effect in m.try_lock_for() | Yes | ||
2288 | C++14 | 30.4.1.4 [thread.sharedmutex.requirements] | Inconsistent requirements for shared mutexes | Yes | ||
2363 | New | 30.4.1.4.1 [thread.sharedtimedmutex.class] | Defect in 30.4.1.4.1 [thread.sharedtimedmutex.class] | No | ||
2023 | Resolved | 30.4.2.1 [thread.lock.guard] | Incorrect requirements for lock_guard and unique_lock | Yes | ||
2104 | C++14 | 30.4.2.2 [thread.lock.unique] | unique_lock move-assignment should not be noexcept | Yes | ||
1045 | C++11 | 30.4.2.2.1 [thread.lock.unique.cons] | Remove unnecessary preconditions from unique_lock constructor | Yes | ||
962 | C++11 | 30.4.2.2.2 [thread.lock.unique.locking] | Various threading bugs #12 | Yes | ||
1159 | C++11 | 30.4.2.2.2 [thread.lock.unique.locking] | Unclear spec for resource_deadlock_would_occur | Yes | 1219 | |
1219 | Dup | 30.4.2.2.2 [thread.lock.unique.locking] | unique_lock::lock and resource_deadlock_would_occur | Yes | 1159 | |
784 | NAD | 30.4.2.2.3 [thread.lock.unique.mod] | unique_lock::release | Yes | ||
986 | C++11 | 30.4.3 [thread.lock.algorithm] | Generic try_lock contradiction | Yes | ||
2080 | C++14 | 30.4.4 [thread.once] | Specify when once_flag becomes invalid | Yes | ||
1494 | C++11 | 30.4.4.2 [thread.once.callonce] | Term "are serialized" not defined | Yes | ||
1499 | NAD Future | 30.5 [thread.condition] | Condition variables preclude wakeup optimization | Yes | ||
2140 | C++14 | 30.5 [thread.condition] | Meaning of notify_all_at_thread_exit synchronization requirement? | Yes | ||
2190 | C++14 | 30.5 [thread.condition] | Condition variable specification | Yes | ||
859 | C++11 | 30.5 [thread.condition] | Monotonic Clock is Conditionally Supported? | Yes | ||
1220 | C++11 | 30.5 [thread.condition] | What does condition_variable wait on? | Yes | ||
1222 | C++11 | 30.5 [thread.condition] | condition_variable incorrect effects for exception safety | Yes | ||
1497 | C++11 | 30.5 [thread.condition] | lock() postcondition can not be generally achieved | Yes | ||
1498 | Resolved | 30.5 [thread.condition] | Unclear specification for [thread.condition] | Yes | ||
1495 | NAD Editorial | 30.5 [thread.condition] | Condition variable wait_for return value insufficient | Yes | ||
2135 | C++14 | 30.5.1 [thread.condition.condvar] | Unclear requirement for exceptions thrown in condition_variable::wait() | Yes | ||
2093 | C++14 | 30.5.1 [thread.condition.condvar] | Throws clause of condition_variable::wait with predicate | Yes | ||
857 | C++11 | 30.5.1 [thread.condition.condvar] | condition_variable::time_wait return bool error prone | Yes | ||
965 | C++11 | 30.5.1 [thread.condition.condvar] | Various threading bugs #15 | Yes | ||
1221 | C++11 | 30.5.1 [thread.condition.condvar] | condition_variable wording | Yes | ||
2240 | Resolved | 30.5.1 [thread.condition.condvar] | Probable misuse of term "function scope" in [thread.condition] | Yes | ||
958 | Resolved | 30.5.1 [thread.condition.condvar] | Various threading bugs #8 | Yes | ||
966 | Resolved | 30.5.1 [thread.condition.condvar] | Various threading bugs #16 | Yes | ||
1496 | NAD Editorial | 30.5.1 [thread.condition.condvar] | condition_variable not implementable | Yes | ||
887 | NAD | 30.5.1 [thread.condition.condvar] | issue with condition::wait_... | Yes | ||
959 | NAD | 30.5.1 [thread.condition.condvar] | Various threading bugs #9 | Yes | ||
2092 | C++14 | 30.5.2 [thread.condition.condvarany] | Vague Wording for condition_variable_any | Yes | ||
1267 | C++11 | 30.5.2 [thread.condition.condvarany] | Incorrect wording for condition_variable_any::wait_for | Yes | ||
964 | Resolved | 30.5.2 [thread.condition.condvarany] | Various threading bugs #14 | Yes | ||
1500 | NAD Editorial | 30.5.2 [thread.condition.condvarany] | Consider removal of native_handle() | Yes | ||
1223 | NAD | 30.5.2 [thread.condition.condvarany] | condition_variable_any lock matching? | Yes | ||
1224 | NAD | 30.5.2 [thread.condition.condvarany] | condition_variable_any support for recursive mutexes? | Yes | ||
2276 | New | 30.6 [futures] | Missing requirement on std::promise::set_exception | No | ||
1518 | C++11 | 30.6 [futures] | Waiting for deferred functions | Yes | ||
1046 | Resolved | 30.6 [futures] | Provide simple facility to start asynchronous operations | Yes | ||
1244 | Resolved | 30.6 [futures] | wait_*() in *future for synchronous functions | Yes | ||
1275 | Resolved | 30.6 [futures] | Creating and setting futures | Yes | ||
1501 | Resolved | 30.6 [futures] | Specification for managing associated asynchronous state has problems | Yes | ||
1513 | Resolved | 30.6 [futures] | 'launch' enum too restrictive | Yes | ||
2056 | C++14 | 30.6.1 [futures.overview] | future_errc enums start with value 0 (invalid value for broken_promise) | Yes | ||
2102 | C++14 | 30.6.1 [futures.overview] | Why is std::launch an implementation-defined type? | Yes | ||
1226 | Resolved | 30.6.2 [futures.errors] | Incomplete changes of #890 | Yes | ||
1160 | Resolved | 30.6.3 [futures.future_error] | future_error public constructor is 'exposition only' | Yes | ||
1269 | Resolved | 30.6.4 [futures.state] | Associated state doesn't account for async | Yes | ||
1502 | Resolved | 30.6.4 [futures.state] | Specification of [futures.state] unclear | Yes | ||
1503 | NAD Editorial | 30.6.4 [futures.state] | "associated asynchronous state" must go | Yes | ||
2095 | Open | 30.6.5 [futures.promise] | promise and packaged_task missing constructors needed for uses-allocator construction | Yes | 4 | |
2098 | C++14 | 30.6.5 [futures.promise] | Minor Inconsistency between promise::set_value and promise::set_value_at_thread_exit | Yes | ||
1049 | Resolved | 30.6.5 [futures.promise] | Move assignment of promise inverted | Yes | ||
1050 | Resolved | 30.6.5 [futures.promise] | Clarify postconditions for get_future() | Yes | ||
1088 | Resolved | 30.6.5 [futures.promise] | std::promise should provide non-member swap overload | Yes | ||
1165 | Resolved | 30.6.5 [futures.promise] | Unneeded promise move constructor | Yes | ||
1272 | Resolved | 30.6.5 [futures.promise] | confusing declarations of promise::set_value | Yes | ||
1291 | Resolved | 30.6.5 [futures.promise] | Exceptions thrown during promise::set_value | Yes | ||
1300 | Resolved | 30.6.5 [futures.promise] | Circular definition of promise::swap | Yes | ||
1504 | Resolved | 30.6.5 [futures.promise] | Term "are serialized" is not defined | Yes | ||
1505 | Resolved | 30.6.5 [futures.promise] | Synchronization between promise::set_value and future::get | Yes | ||
1507 | Resolved | 30.6.5 [futures.promise] | promise::XXX_at_thread_exit functions have no synchronization requirements | Yes | ||
1506 | NAD Editorial | 30.6.5 [futures.promise] | set_exception with a null pointer | Yes | ||
1164 | NAD | 30.6.5 [futures.promise] | promise::swap should pass by rvalue reference | Yes | ||
2096 | C++14 | 30.6.6 [futures.unique_future] | Incorrect constraints of future::get in regard to MoveAssignable | Yes | ||
2185 | C++14 | 30.6.6 [futures.unique_future] | Missing throws clause for future/shared_future::wait_for/wait_until | Yes | ||
2031 | C++11 | 30.6.6 [futures.unique_future] | std::future<>::share() only applies to rvalues | Yes | ||
1047 | Resolved | 30.6.6 [futures.unique_future] | Ensure that future's get() blocks when not ready | Yes | ||
1048 | Resolved | 30.6.6 [futures.unique_future] | Provide empty-state inspection for std::unique_future | Yes | ||
1161 | Resolved | 30.6.6 [futures.unique_future] | Unnecessary unique_future limitations | Yes | ||
1273 | Resolved | 30.6.6 [futures.unique_future] | future::valid should be callable on an invalid future | Yes | ||
1106 | Resolved | 30.6.7 [futures.shared_future] | Multiple exceptions from connected shared_future::get()? | Yes | ||
1162 | Resolved | 30.6.7 [futures.shared_future] | shared_future should support an efficient move constructor | Yes | ||
1163 | Resolved | 30.6.7 [futures.shared_future] | shared_future is inconsistent with shared_ptr | Yes | ||
1266 | Resolved | 30.6.7 [futures.shared_future] | shared_future::get and deferred async functions | Yes | ||
1304 | Resolved | 30.6.7 [futures.shared_future] | Missing preconditions for shared_future | Yes | ||
1107 | NAD Editorial | 30.6.7 [futures.shared_future] | constructor shared_future(unique_future) by value? | Yes | ||
2046 | NAD | 30.6.7 [futures.shared_future] | shared_future(future<R>&&) should be allowed to throw | Yes | ||
2202 | Open | 30.6.8 [futures.async] | Missing allocator support by async | No | 4 | |
2186 | C++14 | 30.6.8 [futures.async] | Incomplete action on async/launch::deferred | Yes | ||
2078 | C++14 | 30.6.8 [futures.async] | Throw specification of async() incomplete | Yes | ||
2100 | C++14 | 30.6.8 [futures.async] | timed waiting functions cannot timeout if launch::async policy used | Yes | ||
2120 | C++14 | 30.6.8 [futures.async] | What should async do if neither 'async' nor 'deferred' is set in policy? | Yes | ||
2032 | C++11 | 30.6.8 [futures.async] | Incorrect synchronization clause of async function | Yes | ||
1315 | NAD Editorial | 30.6.8 [futures.async] | return type of async | Yes | ||
1512 | NAD Editorial | 30.6.8 [futures.async] | Conflict in specification: block or join? | Yes | ||
2067 | C++14 | 30.6.9 [futures.task] | packaged_task should have deleted copy c'tor with const parameter | Yes | ||
2030 | C++11 | 30.6.9 [futures.task] | packaged_task::result_type should be removed | Yes | ||
1090 | Resolved | 30.6.9 [futures.task] | Missing description of packaged_task member swap, missing non-member swap | Yes | ||
1508 | Resolved | 30.6.9 [futures.task] | Rename packaged_task::operator bool() | Yes | ||
2245 | New | 30.6.9.1 [futures.task.members] | packaged_task::reset() memory allocation | No | ||
2142 | C++14 | 30.6.9.1 [futures.task.members] | packaged_task::operator() synchronization too broad? | Yes | ||
2097 | C++14 | 30.6.9.1 [futures.task.members] | packaged_task constructors should be constrained | Yes | ||
1514 | C++11 | 30.6.9.1 [futures.task.members] | packaged_task constructors need review | Yes | ||
2008 | C++11 | 30.6.9.1 [futures.task.members] | Conflicting Error Conditions for packaged_task::operator() | Yes | ||
2027 | C++11 | 30.6.9.1 [futures.task.members] | Initialization of the stored task of a packaged_task | Yes | ||
1515 | Resolved | 30.6.9.1 [futures.task.members] | packaged_task::make_ready_at_thread_exit has no synchronization requirements | Yes | ||
2025 | Resolved | 30.6.9.1 [futures.task.members] | Incorrect semantics of move assignment operator of packaged_task | Yes | ||
2000 | C++11 | 30.6.9.2 [futures.task.nonmembers] | Missing definition of packaged_task specialization of uses_allocator | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
922 | C++11 | B [implimits] | [func.bind.place] Number of placeholders | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2201 | New | C.4 [diff.library] | Missing macro entries from C standard library | No | 2 | |
544 | NAD Editorial | C.4 [diff.library] | minor NULL problems in C.2 | Yes | ||
1115 | NAD Editorial | C.4 [diff.library] | va_copy missing from Standard macros table | Yes | ||
1155 | NAD Editorial | C.4 [diff.library] | Reference should be to C99 | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | 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 | ||
66 | TC1 | D.7.1.3 [depr.strstreambuf.virtuals] | Strstreambuf::setbuf | 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 | ||
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 | ||
1279 | C++11 | D.8.1 [depr.base] | forbid [u|bi]nary_function specialization | Yes | ||
257 | NAD | D.8.1 [depr.base] | STL functional object and iterator inheritance. | Yes | ||
480 | NAD | D.8.1 [depr.base] | unary_function and binary_function should have protected nonvirtual destructors | Yes | ||
501 | NAD | D.8.1 [depr.base] | Proposal: strengthen guarantees of lib.comparisons | Yes | ||
109 | CD1 | D.9 [depr.lib.binders] | Missing binders for non-const sequence elements | Yes | ||
362 | CD1 | D.9 [depr.lib.binders] | bind1st/bind2nd type safety | Yes | ||
798 | CD1 | D.9 [depr.lib.binders] | Refactoring of binders lead to interface breakage | Yes | ||
1516 | C++11 | D.10 [depr.auto.ptr] | No specification for which header contains auto_ptr | Yes | ||
1247 | C++11 | D.10.1 [auto.ptr] | auto_ptr is overspecified | Yes | ||
127 | TC1 | D.10.1 [auto.ptr] | auto_ptr<> conversion issues | Yes | ||
973 | NAD Editorial | D.10.1 [auto.ptr] | auto_ptr characteristics | Yes | ||
463 | NAD | D.10.1 [auto.ptr] | auto_ptr usability issues | Yes | ||
249 | NAD | D.10.1 [auto.ptr] | Return Type of auto_ptr::operator= | Yes | ||
2 | NAD | D.10.1.3 [auto.ptr.conv] | Auto_ptr conversions effects incorrect | Yes | ||
1367 | C++11 | D.11 [exception.unexpected] | Deprecate library support for checking dynamic exception specifications | Yes | ||
433 | NAD | D.11.4 [unexpected] | Contradiction in specification of unexpected() | Yes |
(view only non-Ready open issues)
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
2389 | New | X [mods.func.wrap] | [fund.ts] function::operator= is over-specified and handles allocators incorrectly | Yes | ||
2374 | New | X [optional.object.observe] | Remarks for optional::to_value are too restrictive | Yes | ||
2253 | Deferred | X [dynarray.overview] | dynarray should state which container requirements aren't met | Yes | ||
2255 | Deferred | X [dynarray.cons] | dynarray constructor ambiguity | Yes | ||
2264 | Deferred | X [dynarray] | std::dynarray defines its initializer-list constructor in terms of a non-existent constructor | Yes | ||
2282 | Deferred | X [optional.object.assign] | Incorrect is_assignable constraint in optional::op=(U&&) | Yes | ||
2283 | Deferred | X [optional.comp_with_t] | optional declares and then does not define an operator<() | Yes | ||
2287 | Deferred | X [optional.object.assign] | Incorrect exception safety for optional copy assignment operator | Yes | ||
2305 | Deferred | X [optional.object.ctor] | optional forwarding construction/assignment | Yes | ||
2333 | Deferred | X [optional.hash] | Hashing disengaged optional<T> objects | Yes | ||
1235 | NAD Future | X [rand.concept.dist] | Issue with C++0x random number proposal | Yes | ||
2300 | C++14 | X [map.ops] | [CD] Redundant sections for map and multimap members should be removed | Yes | ||
765 | C++11 | X [iterator.concepts] | More on iterator validity | Yes | ||
904 | C++11 | X [func.ret] | result_of argument types | Yes | ||
943 | C++11 | X [atomics.types.address] | ssize_t undefined | Yes | ||
990 | C++11 | X [time.clock.monotonic] | monotonic_clock::is_monotonic must be true | Yes | ||
1134 | C++11 | X [stdinth] | Redundant specification of <stdint.h>, <fenv.h>, <tgmath.h>, and maybe <complex.h> | Yes | ||
1270 | C++11 | X [func.ret] | result_of should be moved to <type_traits> | Yes | ||
1381 | C++11 | X [pair.range] | Replace pair's range support by proper range facility | Yes | ||
1387 | C++11 | X [tuple.range] | Range support by tuple should be removed | Yes | ||
198 | CD1 | X [iterator.concepts] | Validity of pointers and references unspecified after iterator destruction | Yes | ||
346 | CD1 | X [iterator.concepts] | Some iterator member functions should be const | Yes | ||
407 | CD1 | X [iterator.concepts] | Can singular iterators be destroyed? | Yes | ||
551 | CD1 | X [cmplxh] | <ccomplex> | Yes | ||
789 | CD1 | X [rand.adapt.xor] | xor_combine_engine(result_type) should be explicit | Yes | ||
843 | CD1 | X [func.referenceclosure.cons] | Reference Closure | Yes | ||
208 | TC1 | X [iterator.concepts] | Unnecessary restriction on past-the-end iterators | Yes | ||
732 | Resolved | X [rand.dist.samp.genpdf] | Defect in [rand.dist.samp.genpdf] | Yes | 795 | |
908 | Resolved | X [atomics.types] | Deleted assignment operators for atomic types must be volatile | Yes | ||
1166 | Resolved | X [allocator.propagation] | Allocator-specific move/copy break model of move-constructor and move-assignment | Yes | ||
1172 | Resolved | X [allocator.concepts.members] | select_on_container_(copy|move)_construction over-constrained | Yes | ||
1225 | Resolved | X [func.ret] | C++0x result_of issue | Yes | ||
1274 | Resolved | X [futures.atomic_future] | atomic_future constructor | Yes | ||
1305 | Resolved | X [futures.atomic_future] | preconditions for atomic_future | Yes | ||
1355 | Resolved | X [defns.move.assign.op] | The definition of move-assignment operator is redundant | Yes | ||
1356 | Resolved | X [defns.move.ctor] | The definition of move-constructor is redundant | Yes | ||
1409 | Resolved | X [time.clock.monotonic] | Specify whether monotonic_clock is a distinct type or a typedef | Yes | ||
1410 | Resolved | X [time.clock.monotonic] | Add a feature-detect macro for monotonic_clock | Yes | 1411 | |
1412 | Resolved | X [time.clock.monotonic] | Make monotonic clocks mandatory | Yes | ||
1462 | Resolved | X [atomics.types.integral] | Ambiguous value assignment to atomic_bool | Yes | 1463 | |
1464 | Resolved | X [atomics.types.integral] | Underspecified typedefs for atomic integral types | Yes | ||
1465 | Resolved | X [atomics.types.address] | Missing arithmetic operators for atomic_address | Yes | ||
1466 | Resolved | X [atomics.types.address] | Silent const breakage by compare_exchange_* member functions | Yes | ||
1467 | Resolved | X [atomics.types.address] | Deriving atomic<T*> from atomic_address breaks type safety | Yes | ||
1468 | Resolved | X [atomics.types.address] | atomic_address::compare_exchange_* member functions should match atomic_compare_exchange_* free functions | Yes | ||
1509 | NAD Editorial | X [futures.atomic_future] | No restriction on calling future::get more than once | Yes | ||
1510 | NAD Editorial | X [futures.atomic_future] | Should be undefined behaviour to call atomic_future operations unless valid() | Yes | ||
1511 | NAD Editorial | X [futures.atomic_future] | Synchronize the move-constructor for atomic_future | Yes | ||
304 | NAD | X [iterator.concepts] | Must *a return an lvalue when a is an input iterator? | Yes | ||
790 | NAD | X [rand.adapt.xor] | xor_combine::seed not specified | Yes | ||
988 | NAD | X [concept.comparison] | Reflexivity meaningless? | Yes | ||
795 | Dup | X [rand.dist.samp.genpdf] | general_pdf_distribution should be dropped | Yes | 732 | |
1411 | Dup | X [time.clock.monotonic] | Add a compile-time flag to detect monotonic_clock | Yes | 1410 | |
1463 | Dup | X [atomics.types.integral] | Inconsistent value assignment for atomic_bool | Yes | 1462 | |
927 | NAD Concepts | X [allocator.concepts] | Dereferenceable should be HasDereference | Yes | ||
1015 | NAD Concepts | X [concept.transform] | C++ programs - but not users - need to provide support concept_maps | Yes | ||
1016 | NAD Concepts | X [concept.comparison] | Provide LessThanComparable and EqualityComparable for FloatingPointType | Yes | ||
1017 | NAD Concepts | X [concept.regular] | Floating-point types should not satisfy Regular | Yes | ||
1063 | NAD Concepts | X [iterator.backward] | 03 iterator compatibilty | Yes | ||
1074 | NAD Concepts | X [allocator.element.concepts] | concept map broken by N2840 | Yes | ||
1080 | NAD Concepts | X [concept.arithmetic] | Concept ArithmeticLike should provide explicit boolean conversion | Yes | ||
1105 | NAD Concepts | X [iterator.concepts.range] | Shouldn't Range be an auto concept | Yes | ||
1124 | NAD Concepts | X [concept.transform] | Invalid definition of concept RvalueOf | Yes | ||
1128 | NAD Concepts | X [iterator.syn] | Missing definition of iterator_traits<T*> | Yes | ||
1149 | NAD Concepts | X [rand.concept.urng] | Reformulating NonemptyRange axiom | Yes |
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
546 | NAD | TR1 5.1.1 [tr.rand.req] | _Longlong and _ULonglong are integer types | Yes | ||
785 | NAD | TR1 5.1.4.5 [tr.rand.eng.disc] | Random Number Requirements in TR1 | Yes | ||
701 | NAD | TR1 5.2.1.1 [tr.num.sf.Lnm] | assoc laguerre poly's | Yes | ||
702 | NAD | TR1 5.2.1.2 [tr.num.sf.Plm] | Restriction in associated Legendre functions | Yes |
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
568 | NAD | 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 |
Issue | Status | Section | Title | Proposed Resolution | Priority | 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 | ||
598 | TRDec | TRDecimal 3.2 [trdec.types.types] | Decimal: Conversion to integral should truncate, not round. | Yes | ||
597 | NAD | TRDecimal 3.2 [trdec.types.types] | Decimal: The notion of 'promotion' cannot be emulated by user-defined types. | Yes | ||
606 | NAD | TRDecimal 3.2 [trdec.types.types] | Decimal: allow narrowing conversions | 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 |