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-11-24 at 15:11:21 UTC
Issue | Status | Section | Title | Proposed Resolution | Priority | Duplicates |
760 | Open | 23.2 [container.requirements] | The emplace issue | Yes | ||
1169 | Open | 22.4.2.1.2 [facet.num.get.virtuals] | num_get not fully compatible with strto* | Yes | 3 | |
1173 | Open | 17 [library] | "Equivalence" wishy-washiness | No | ||
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 | |
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 | |
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 | |
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 | |
2173 | New | 25 [algorithms] | The meaning of operator + in the description of the algorithms | Yes | 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 | Yes | 3 | |
2236 | New | 29.2 [atomics.syn] | kill_dependency unconditionally noexcept | No | ||
2237 | New | 21.8 [c.strings] | <cuchar> macros | No | 4 | |
2238 | Open | 21.8 [c.strings] | Problematic iterator-pair constructor of containers | No | 3 | |
2239 | New | 25.4.7 [alg.min.max] | min/max/minmax requirements | Yes | 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 | |
2254 | Open | 23.2.1 [container.requirements.general] | [arrays.ts] Is dynarray an allocator-aware container? | Yes | 3 | |
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 | Open | X [dynarray] | [arrays.ts] std::dynarray defines its initializer-list constructor in terms of a non-existent constructor | Yes | 1 | |
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 | Open | 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 | Open | 24.7 [iterator.range] | [arrays.ts] <dynarray> is missing in 24.7/1 | Yes | 3 | |
2286 | New | 27.8.2.4 [stringbuf.virtuals] | stringbuf::underflow() underspecified | Yes | 4 | |
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 | |
2307 | Open | 23 [containers] | Should the Standard Library use explicit only when necessary? | No | 2 | |
2309 | New | 30.4.1.2 [thread.mutex.requirements.mutex] | mutex::lock() should not throw device_or_resource_busy | Yes | ||
2310 | Open | 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 | |
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 | |
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 | 3 | |
2363 | New | 30.4.1.4.1 [thread.sharedtimedmutex.class] | Defect in 30.4.1.4.1 [thread.sharedtimedmutex.class] | Yes | ||
2366 | New | 24.6.3 [istreambuf.iterator] | istreambuf_iterator end-of-stream equality | No | 3 | |
2367 | New | 20.10.4.3 [meta.unary.prop] | pair and tuple are not correctly implemented for is_constructible with no args | Yes | 3 | |
2368 | New | 18.6.1 [new.delete] | Replacing global operator new | No | 2 | |
2369 | New | 25.4.7 [alg.min.max] | constexpr max(initializer_list) vs max_element | Yes | 3 | |
2370 | New | 20.9.11.2 [func.wrap.func] | Operations involving type-erased allocators should not be noexcept in std::function | Yes | 1 | |
2372 | New | 21.4 [basic.string] | Assignment from int to std::string | Yes | 4 | |
2373 | New | 17.6.5 [conforming] | Make new entities and names in namespace std conforming extensions | No | 3 | |
2375 | New | 24.2.1 [iterator.requirements.general] | Is [iterator.requirements.general]/9 too broadly applied? | No | 3 | |
2378 | Review | 18.6.2.1 [bad.alloc] | Behaviour of standard exception types | Yes | 0 | |
2379 | New | 30.2.3 [thread.req.native] | Obtaining native handle of the current thread | Yes | ||
2380 | Review | 17.6.1.2 [headers] | May <cstdlib> provide long ::abs(long) and long long ::abs(long long)? | Yes | 2 | |
2381 | New | 22.4.2.1.2 [facet.num.get.virtuals] | Inconsistency in parsing floating point numbers | No | 3 | |
2383 | Open | 20.12.5.8 [time.duration.literals] | Overflow cannot be ill-formed for chrono::duration integer literals | No | 3 | |
2384 | New | 17.6.3.5 [allocator.requirements] | Allocator's deallocate function needs better specification | Yes | 3 | |
2385 | New | 20.9.11.2 [func.wrap.func] | function::assign allocator argument doesn't make sense | Yes | 2 | |
2386 | New | 20.9.11.2.1 [func.wrap.func.con] | function::operator= handles allocators incorrectly | Yes | 1 | |
2388 | New | 20.2.3 [utility.exchange] | Handling self-assignment in the proposed library function std::exchange | Yes | 2 | |
2391 | New | 21.4 [basic.string] | basic_string is missing non-const data() | Yes | 3 | |
2392 | New | 17.3.17 [defns.ntcts] | "character type" is used but not defined | No | 3 | |
2393 | New | 20.9.11.2 [func.wrap.func] | std::function's Callable definition is broken | Yes | 2 | |
2394 | New | 22.3.1.3 [locale.members] | locale::name specification unclear — what is implementation-defined? | No | 3 | |
2397 | Open | 20.10.7.6 [meta.trans.other] | map<K, V>::emplace and explicit V constructors | No | 1 | |
2398 | New | 18.7.1 [type.info] | type_info's destructor shouldn't be required to be virtual | Yes | 2 | |
2402 | New | 21.4.2 [string.cons] | basic_string(const basic_string& str, size_type pos, size_type n = npos) shouldn't use Allocator() | Yes | 3 | |
2407 | New | 30.6.9.1 [futures.task.members] | packaged_task(allocator_arg_t, const Allocator&, F&&) should neither be constrained nor explicit | Yes | ||
2410 | New | X [mods.util.smartptr.shared.const] | [fund.ts] shared_ptr<array>'s constructor from unique_ptr should be constrained | Yes | ||
2412 | New | 30.6.5 [futures.promise] | promise::set_value() and promise::get_future() should not race | Yes | ||
2413 | New | 19.3 [assertions] | assert macro is overconstrained | No | 4 | |
2414 | Open | 17.6.5.8 [reentrancy] | Member function reentrancy should be implementation-defined | Yes | 3 | |
2415 | New | 20.8.2.2.1 [util.smartptr.shared.const] | Inconsistency between unique_ptr and shared_ptr | Yes | 2 | |
2417 | New | X [optional.relops] | [fund.ts] std::experimental::optional::operator< and LessThanComparable requirement | No | ||
2418 | New | X [tuple.apply] | [fund.ts] apply does not work with member pointers | Yes | ||
2420 | New | 20.9.11.2 [func.wrap.func] | function<void(ArgTypes...)> does not discard the return value of the target object | Yes | 1 | |
2421 | New | 20.7.5 [ptr.align] | Non-specification of handling zero size in std::align [ptr.align] | No | 3 | |
2422 | New | 18.3.2.4 [numeric.limits.members] | std::numeric_limits<T>::is_modulo description: "most machines" errata | Yes | 2 | |
2423 | New | 26.6.5 [template.slice.array] | Missing specification slice_array, gslice_array, mask_array, indirect_array copy constructor | Yes | 4 | |
2424 | Review | 29.5 [atomics.types.generic] | 29.5 should state that atomic types are not trivially copyable | Yes | ||
2426 | New | 29.6.5 [atomics.types.operations.req] | Issue about compare_exchange | Yes | ||
2431 | New | 28.3 [re.req] | Missing regular expression traits requirements | No | 3 | |
2432 | New | 18.9 [support.initlist] | initializer_list assignability | Yes | 2 | |
2435 | New | 20.9.3.4 [refwrap.invoke] | reference_wrapper::operator()'s Remark should be deleted | Yes | 4 | |
2436 | New | 23.2.4 [associative.reqmts] | Comparators for associative containers should always be CopyConstructible | Yes | 2 | |
2437 | New | 24.2.2 [iterator.iterators] | iterator_traits<OutIt>::reference can and can't be void | Yes | 3 | |
2441 | Open | 29.5 [atomics.types.generic] | Exact-width atomic typedefs should be provided | Yes | ||
2442 | New | 30.4.4.2 [thread.once.callonce] | call_once() shouldn't DECAY_COPY() | Yes | ||
2444 | New | 25.4.6.4 [sort.heap] | Inconsistent complexity for std::sort_heap | Yes | 3 | |
2445 | New | 20.8.2.6 [util.smartptr.shared.atomic] | "Stronger" memory ordering | No | ||
2447 | New | 17.6.3.5 [allocator.requirements] | Allocators and volatile-qualified value types | Yes | 0 | |
2448 | New | 23.2.1 [container.requirements.general] | Non-normative Container destructor specification | Yes | 0 | |
2449 | New | 23.3.6.5 [vector.modifiers] | vector::insert invalidates end()? | No | 3 | |
2450 | New | 20.9.5 [comparisons] | (greater|less|greater_equal|less_equal)<void> do not yield a total order for pointers | Yes | 2 | |
2451 | New | X [optional.object] | [fund.ts] optional<T> should 'forward' T's implicit conversions | No | ||
2452 | New | 20.10 [meta] | is_constructible, etc. and default arguments | No | ||
2453 | New | 18.9 [support.initlist] | [iterator.range] and now [iterator.container] aren't available via <initializer_list> | No | ||
2454 | New | 20.7.10 [storage.iterator] | Add raw_storage_iterator::base() member | Yes | ||
2455 | New | 17.6.3.5 [allocator.requirements] | Allocator default construction should be allowed to throw | Yes | ||
2456 | New | 20.2 [utility] | Incorrect exception specifications for 'swap' throughout library | No | ||
2457 | New | 24.7 [iterator.range] | std::begin() and std::end() do not support multi-dimensional arrays correctly | No | ||
2458 | New | 18.6 [support.dynamic] | N3778 and new library deallocation signatures | Yes |