Reference ISO/IEC IS 14882:2011(E)
This document is the Table of Contents for the Library Active Issues List, Library Defect Reports List, and Library Closed Issues List.
Revised 2014-05-24 at 10:05:55 UTC
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
1169 | Open | 22.4.2.1.2 [facet.num.get.virtuals] | num_get not fully compatible with strto* | Yes | 3 | |
1175 | Open | 23.2.5 [unord.req] | unordered complexity | Yes | 3 | |
1213 | Open | 24.2 [iterator.requirements] | Meaning of valid and singular iterator underspecified | Yes | 4 | |
1526 | Open | 17.6.5.9 [res.on.data.races] | C++ should not impose thread safety requirements on C99 library implementations | Yes | 3 | |
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 | |
2051 | Open | 20.4.2 [tuple.tuple] | Explicit tuple constructors for more than one parameter | No | 2 | |
2059 | Open | 23.4.4 [map] | C++0x ambiguity problem with map::erase | Yes | 3 | |
2062 | Open | 20.9.11.2 [func.wrap.func] | Effect contradictions w/o no-throw guarantee of std::function swaps | No | 2 | |
2063 | Open | 21.4 [basic.string] | Contradictory requirements for string move assignment | No | 3 | |
2070 | Open | 20.8.2.2.6 [util.smartptr.shared.create] | allocate_shared should use allocator_traits<A>::construct | Yes | 2 | |
2072 | Open | 20.7.11 [temporary.buffer] | Unclear wording about capacity of temporary buffers | Yes | 3 | |
2076 | New | 23.4.6.2 [set.cons] | Bad CopyConstructible requirement in set constructors | Yes | 3 | |
2077 | Open | 20.10.4.3 [meta.unary.prop] | Further incomplete constraints for type traits | No | 3 | |
2079 | New | 26.8 [c.math] | Required pow() overloads | No | 3 | |
2088 | Open | 18.8.3 [exception.terminate] | std::terminate problem | No | 3 | |
2089 | Open | 20.7.9.1 [allocator.members] | std::allocator::construct should use uniform initialization | Yes | 2 | |
2095 | Open | 30.6.5 [futures.promise] | promise and packaged_task missing constructors needed for uses-allocator construction | Yes | 4 | |
2101 | Open | 20.10.7 [meta.trans] | Some transformation types can produce impossible types | Yes | 3 | |
2108 | Open | 17.6.3.5 [allocator.requirements] | No way to identify allocator types that always compare equal | Yes | 3 | |
2111 | Review | 18.8.3.4 [terminate] | Which unexpected/terminate handler is called from the exception handling runtime? | Yes | 3 | |
2114 | Open | 17.6.3.3 [nullablepointer.requirements] | Incorrect "contextually convertible to bool" requirements | Yes | 3 | |
2115 | Open | 26.6.8 [template.mask.array] | Undefined behaviour for valarray assignments with mask_array index? | No | 4 | |
2116 | Open | 20.10.4.3 [meta.unary.prop] | std::swap noexcept(what?) | No | 3 | |
2117 | New | 22.4.2.2.2 [facet.num.put.virtuals] | ios_base manipulators should have showgrouping/noshowgrouping | No | 5 | |
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 | |
2119 | Open | 20.9.12 [unord.hash] | Missing hash specializations for extended integer types | Yes | 3 | |
2121 | New | 27.8.6 [stringstream.cons] | app for string streams | No | 3 | |
2127 | Open | 20.7.10 [storage.iterator] | Move-construction with raw_storage_iterator | Yes | 3 | |
2133 | Open | 17.6.5.4 [global.functions] | Attitude to overloaded comma for iterators | Yes | 3 | |
2136 | Open | 17.5.1 [structure] | Postconditions vs. exceptions | No | 3 | |
2137 | Open | 28.8.3 [re.regex.assign] | Misleadingly constrained post-condition in the presence of exceptions | Yes | 3 | |
2139 | Open | 17.6.4.2.1 [namespace.std] | What is a user-defined type? | No | 4 | |
2146 | Open | 17.6.3.1 [utility.arg.requirements] | Are reference types Copy/Move-Constructible/Assignable or Destructible? | No | 2 | |
2151 | Open | 21.4.1 [string.require] | basic_string<>::swap semantics ignore allocators | No | 3 | |
2152 | Open | 17.6.3.2 [swappable.requirements] | Instances of standard container types are not swappable | No | 2 | |
2153 | Open | 20.2.2 [utility.swap] | Narrowing of the non-member swap contract | No | 2 | |
2154 | New | 26.5.1.3 [rand.req.urng] | What exactly does compile-time complexity imply? | No | 4 | |
2155 | Open | 18.10 [support.runtime] | Macro __bool_true_false_are_defined should be removed | No | 4 | |
2156 | Open | 23.2.5 [unord.req] | Unordered containers' reserve(n) reserves for n-1 elements | Yes | 3 | |
2157 | Open | 23.3.2.8 [array.zero] | How does std::array<T,0> initialization work when T is not default-constructible? | Yes | 3 | |
2158 | New | 23.3.6.3 [vector.capacity] | Conditional copy/move in std::vector | No | 2 | |
2160 | Open | 23.3.6.3 [vector.capacity] | Unintended destruction ordering-specification of resize | No | 1 | |
2161 | New | 23.4 [associative] | const equivalence of std::map | No | 2 | |
2164 | New | 23.3.6.5 [vector.modifiers] | What are the semantics of vector.emplace(vector.begin(), vector.back())? | No | 2 | |
2165 | Core | 29.5 [atomics.types.generic] | std::atomic<X> requires X to be nothrow default constructible | No | ||
2166 | New | 25.4.6 [alg.heap.operations] | Heap property underspecified? | No | 3 | |
2168 | New | 26.5.8.2.2 [rand.dist.uni.real] | Inconsistent specification of uniform_real_distribution constructor | No | 3 | |
2173 | New | 25 [algorithms] | The meaning of operator + in the description of the algorithms | No | 4 | |
2178 | Open | 17.6.3.5 [allocator.requirements] | Allocator requirement changes not mentioned Annex C | No | 3 | |
2179 | Open | 20.8.2.5 [util.smartptr.enab] | enable_shared_from_this and construction from raw pointers | No | 3 | |
2181 | Open | 26.5.1.2 [rand.req.seedseq] | Exceptions from seed sequence operations | Yes | 3 | |
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 | |
2189 | Open | 23.2.5.1 [unord.req.except] | Throwing swap breaks unordered containers' state | No | 3 | |
2191 | New | 28.10.1 [re.results.const] | Incorrect specification of match_results(match_results&&) | No | 4 | |
2192 | Open | 26.8 [c.math] | Validity and return type of std::abs(0u) is unclear | Yes | 2 | |
2195 | Open | 28.10 [re.results] | Missing constructors for match_results | 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 | |
2201 | New | C.4 [diff.library] | Missing macro entries from C standard library | No | 2 | |
2202 | Open | 30.6.8 [futures.async] | Missing allocator support by async | No | 4 | |
2206 | Open | 23.2.3 [sequence.reqmts] | Inaccuracy in initializer_list constructor requirements | No | 3 | |
2208 | New | 24.5.1 [reverse.iterators] | std::reverse_iterator should be a literal type | No | 3 | |
2214 | Open | 27.5.5.2 [basic.ios.cons] | Clarify basic_ios::init call restrictions | Yes | 4 | |
2215 | Open | 23.2.4 [associative.reqmts] | (unordered) associative container functors should be CopyConstructible | No | 3 | |
2216 | New | 28.11.4 [re.alg.replace] | regex_replace(basic_string) allocator handling | No | 3 | |
2218 | Open | 23.2.1 [container.requirements.general] | Unclear how containers use allocator_traits::construct() | Yes | 3 | |
2219 | Open | 20.9.2 [func.require] | INVOKE-ing a pointer to member with a reference_wrapper as the object expression | Yes | 2 | |
2220 | New | 28.12.2.2 [re.tokiter.comp] | Under-specification of operator== for regex_token_iterator | No | 2 | |
2221 | New | 27.7.3 [output.streams] | No formatted output operator for nullptr | No | 3 | |
2223 | Open | 23.3.6.3 [vector.capacity] | shrink_to_fit effect on iterator validity | Yes | 2 | |
2224 | Open | 17.6.4.10 [res.on.objects] | Ambiguous status of access to non-live objects | Yes | 2 | |
2227 | Open | 23.2.4 [associative.reqmts] | Stateful comparison objects in associative containers | Yes | 3 | |
2228 | Review | 20.8.1.2.3 [unique.ptr.single.asgn] | Missing SFINAE rule in unique_ptr templated assignment | Yes | 3 | |
2234 | Open | 19.3 [assertions] | assert() should allow usage in constant expressions | No | 3 | |
2236 | New | 29.2 [atomics.syn] | kill_dependency unconditionally noexcept | No | ||
2237 | New | 21.8 [c.strings] | <cuchar> macros | No | 4 | |
2238 | New | 21.8 [c.strings] | Problematic iterator-pair constructor of containers | No | 3 | |
2239 | New | 25.4.7 [alg.min.max] | min/max/minmax requirements | No | 3 | |
2241 | Open | 18.10 [support.runtime] | <cstdalign> and #define of alignof | No | 2 | |
2242 | New | 25.3.1 [alg.copy] | [uninitialized_]copy_n() defect | No | 2 | |
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 | |
2245 | New | 30.6.9.1 [futures.task.members] | packaged_task::reset() memory allocation | No | ||
2248 | New | 18.3.2 [limits] | numeric_limits::is_iec559 misnamed | No | 4 | |
2250 | New | 20.6.1 [bitset.cons] | Follow-up On Library Issue 2207 | Yes | 3 | |
2251 | New | 18.2 [support.types] | C++ library should define ssize_t | Yes | 3 | |
2253 | Deferred | X [dynarray.overview] | dynarray should state which container requirements aren't met | Yes | ||
2254 | Deferred | 23.2.1 [container.requirements.general] | Is dynarray an allocator-aware container? | Yes | ||
2255 | Deferred | X [dynarray.cons] | dynarray constructor ambiguity | Yes | ||
2256 | New | 23.3.6.5 [vector.modifiers] | On vector iterator invalidation | No | 3 | |
2259 | New | 17.6.5.5 [member.functions] | Issues in 17.6.5.5 rules for member functions | Yes | 3 | |
2260 | Open | 17.6.3.5 [allocator.requirements] | Missing requirement for Allocator::pointer | Yes | 3 | |
2261 | New | 23.2 [container.requirements] | Are containers required to use their 'pointer' type internally? | No | 2 | |
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 | |
2264 | Deferred | X [dynarray] | std::dynarray defines its initializer-list constructor in terms of a non-existent constructor | Yes | ||
2265 | New | 29.3 [atomics.order] | 29.3p9 appears to rule out some acceptable executions | No | ||
2267 | New | 25.4.1.4 [partial.sort.copy] | partial_sort_copy underspecified for ranges of two different types | No | 3 | |
2269 | New | 23.2.1 [container.requirements.general] | Container iterators and argument-dependent lookup | No | 4 | |
2273 | New | 28.11.2 [re.alg.match] | regex_match ambiguity | No | 2 | |
2274 | Open | 23.4.4.3 [map.access] | Does map::operator[] value-initialize or default-insert a missing element? | Yes | 3 | |
2276 | New | 30.6 [futures] | Missing requirement on std::promise::set_exception | No | ||
2277 | Deferred | 24.7 [iterator.range] | <dynarray> is missing in 24.7/1 | 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 | ||
2286 | New | 27.8.2.4 [stringbuf.virtuals] | stringbuf::underflow() underspecified | Yes | 4 | |
2287 | Deferred | X [optional.object.assign] | Incorrect exception safety for optional copy assignment operator | Yes | ||
2289 | New | 20.3.2 [pairs.pair] | constexpr guarantees of defaulted functions still insufficient | Yes | 3 | |
2290 | New | 20.10 [meta] | Top-level "SFINAE"-based constraints should get a separate definition in Clause 17 | Yes | 3 | |
2292 | New | 17.5.1.4 [structure.specifications] | Find a better phrasing for "shall not participate in overload resolution" | No | 3 | |
2294 | Open | 26.8 [c.math] | <cstdlib> should declare abs(double) | Yes | 2 | |
2295 | New | 22.3.1.2 [locale.cons] | Locale name when the provided Facet is a nullptr | No | 3 | |
2296 | New | 20.7.12.1 [specialized.addressof] | std::addressof should be constexpr | Yes | 3 | |
2303 | New | 18.6.1.3 [new.delete.placement] | Explicit instantiation of std::vector<UserType> broken? | No | 3 | |
2305 | Deferred | X [optional.object.ctor] | optional forwarding construction/assignment | Yes | ||
2307 | New | 23 [containers] | Should the Standard Library use explicit only when necessary? | No | 1 | |
2309 | New | 30.4.1.2 [thread.mutex.requirements.mutex] | mutex::lock() should not throw device_or_resource_busy | No | ||
2310 | New | 23.3.2.1 [array.overview] | Public exposition only member in std::array | No | 4 | |
2312 | New | 20.4.2.1 [tuple.cnstr] | tuple's constructor constraints need to be phrased more precisely | Yes | 2 | |
2318 | New | 21.4 [basic.string] | basic_string's wording has confusing relics from the copy-on-write era | No | 4 | |
2321 | Open | 23.2.1 [container.requirements.general] | Moving containers should (usually) be required to preserve iterators | Yes | 2 | |
2325 | New | 25.4.7 [alg.min.max] | minmax_element()'s behavior differing from max_element()'s should be noted | Yes | 3 | |
2326 | New | 26.5.1.1 [rand.req.genl] | uniform_int_distribution<unsigned char> should be permitted | No | 2 | |
2328 | Open | 27.7.2.6 [istream.rvalue] | Rvalue stream extraction should use perfect forwarding | Yes | 3 | |
2331 | Open | 28.5.1 [re.synopt] | regex_constants::collate's effects are inaccurately summarized | Yes | 3 | |
2333 | Deferred | X [optional.hash] | Hashing disengaged optional<T> objects | Yes | ||
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 | ||
2335 | New | 23.3.2 [array] | array<array<int, 3>, 4> should be layout-compatible with int[4][3] | No | 3 | |
2336 | New | 20.10.4.3 [meta.unary.prop] | is_trivially_constructible/is_trivially_assignable traits are always false | Yes | 3 | |
2337 | New | 20.8.2.2.5 [util.smartptr.shared.obs] | shared_ptr operator*() should not be noexcept | Yes | 2 | |
2338 | New | 28.7 [re.traits] | [re.traits]/7 expects of locale facets something not guaranteed by [locale.facet]/4 | Yes | 3 | |
2342 | New | 27.7.3.1 [ostream] | User conversion to wchar_t const* or to wchar_t not invoked for operator<< | Yes | 4 | |
2343 | New | 28.13 [re.grammar] | Is the value of the ECMA-262 RegExp object's multiline property really false? | No | 2 | |
2348 | New | 20.6 [template.bitset] | charT('1') is not the wide equivalent of '1' | Yes | 3 | |
2349 | New | 27.7.2.2.1 [istream.formatted.reqmts] | Clarify input/output function rethrow behavior | Yes | 3 | |
2351 | New | 26.5.3 [rand.eng] | Does .seed() completely reset state of engine? | Yes | 2 | |
2352 | New | 26.5.7.1 [rand.util.seedseq] | Is a default-constructed std::seed_seq intended to produce a predictable .generate()? | No | 2 | |
2353 | New | 24.4.4 [iterator.operations] | std::next is over-constrained | Yes | 4 | |
2358 | New | 20.10.4.3 [meta.unary.prop] | Apparently-bogus definition of is_empty type trait | No | 3 | |
2362 | New | 23.2.4 [associative.reqmts] | unique, associative emplace() should not move/copy the mapped_type constructor arguments when no insertion happens | No | ||
2363 | New | 30.4.1.4.1 [thread.sharedtimedmutex.class] | Defect in 30.4.1.4.1 [thread.sharedtimedmutex.class] | No | ||
2364 | New | 23.3.3.4 [deque.modifiers] | deque and vector pop_back don't specify iterator invalidation requirements | Yes | ||
2366 | New | 24.6.3 [istreambuf.iterator] | istreambuf_iterator end-of-stream equality | No | ||
2367 | New | 20.10.4.3 [meta.unary.prop] | pair and tuple are not correctly implemented for is_constructible with no args | Yes | ||
2368 | New | 18.6.1 [new.delete] | Replacing global operator new | No | ||
2369 | New | 25.4.7 [alg.min.max] | constexpr max(initializer_list) vs max_element | Yes | ||
2370 | New | 20.9.11.2 [func.wrap.func] | Operations involving type-erased allocators should not be noexcept in std::function | Yes | ||
2371 | New | 20.10.2 [meta.type.synop] | No template aliases defined for new type traits | Yes | ||
2372 | New | 21.4 [basic.string] | Assignment from int to std::string | Yes | ||
2373 | New | 17.6.5 [conforming] | Make new entities and names in namespace std conforming extensions | No | ||
2374 | New | X [optional.object.observe] | Remarks for optional::to_value are too restrictive | Yes | ||
2375 | New | 24.2.1 [iterator.requirements.general] | Is [iterator.requirements.general]/9 too broadly applied? | No | ||
2377 | New | 20.7.5 [ptr.align] | std::align requirements overly strict | Yes | ||
2378 | New | 18.6.2.1 [bad.alloc] | Behaviour of standard exception types | Yes | ||
2379 | New | 30.2.3 [thread.req.native] | Obtaining native handle of the current thread | Yes | ||
2380 | New | 17.6.1.2 [headers] | May <cstdlib> provide long ::abs(long) and long long ::abs(long long)? | Yes | ||
2381 | New | 22.4.2.1.2 [facet.num.get.virtuals] | Inconsistency in parsing floating point numbers | No | ||
2382 | New | 17.6.5.8 [reentrancy] | Unclear order of container update versus object destruction on removing an object | No | ||
2383 | New | 20.12.5.8 [time.duration.literals] | Overflow cannot be ill-formed for chrono::duration integer literals | No | ||
2384 | New | 17.6.3.5 [allocator.requirements] | Allocator's deallocate function needs better specification | Yes | ||
2385 | New | 20.9.11.2 [func.wrap.func] | function::assign allocator argument doesn't make sense | Yes | ||
2386 | New | 20.9.11.2.1 [func.wrap.func.con] | function::operator= handles allocators incorrectly | Yes | ||
2387 | New | 20.9.2 [func.require] | More nested types that must be accessible and unambiguous | No | ||
2388 | New | 20.2.3 [utility.exchange] | Handling self-assignment in the proposed library function std::exchange | Yes | ||
2389 | New | X [mods.func.wrap] | [fund.ts] function::operator= is over-specified and handles allocators incorrectly | Yes |