libc++ C++20 Status¶
Overview¶
In July 2017, the C++ standard committee created a draft for the next version of the C++ standard, initially known as “C++2a”. In September 2020, the C++ standard committee approved this draft, and sent it to ISO for approval as C++20.
This page shows the status of libc++; the status of clang’s support of the language features is here.
The groups that have contributed papers:
CWG - Core Language Working group
LWG - Library working group
SG1 - Study group #1 (Concurrency working group)
Note
“Nothing to do” means that no library changes were needed to implement this change.
Paper Status¶
Paper # |
Paper Name |
Meeting |
Status |
First released version |
Notes |
---|---|---|---|---|---|
Endian just Endian |
2017-07 (Toronto) |
Complete |
7 |
||
Extending make_shared to Support Arrays |
2017-07 (Toronto) |
Complete |
15 |
||
Floating Point Atomic |
2017-11 (Albuquerque) |
Complete |
18 |
||
C++ Synchronized Buffered Ostream |
2017-11 (Albuquerque) |
Complete |
18 |
||
Add constexpr modifiers to functions in <algorithm> and <utility> Headers |
2017-11 (Albuquerque) |
Complete |
12 |
||
Constexpr for |
2017-11 (Albuquerque) |
Complete |
16 |
||
Make |
2017-11 (Albuquerque) |
Complete |
|||
String Prefix and Suffix Checking |
2017-11 (Albuquerque) |
Complete |
6 |
||
Transformation Trait |
2017-11 (Albuquerque) |
Complete |
6 |
||
nodiscard in the Library |
2017-11 (Albuquerque) |
Complete |
16 |
||
de-pessimize legacy <numeric> algorithms with std::move |
2017-11 (Albuquerque) |
Complete |
12 |
||
Utility to convert a pointer to a raw pointer |
2017-11 (Albuquerque) |
Complete |
6 |
||
Atomic shared_ptr |
2017-11 (Albuquerque) |
||||
Deprecate POD |
2017-11 (Albuquerque) |
Complete |
7 |
||
Library Support for the Spaceship (Comparison) Operator |
2017-11 (Albuquerque) |
Complete |
|||
Treating Unnecessary |
2017-11 (Albuquerque) |
Complete |
7 |
||
<span> |
2018-03 (Jacksonville) |
Complete |
7 |
||
Extending chrono to Calendars and Time Zones |
2018-03 (Jacksonville) |
Partial |
See the Github issue for detailed status |
||
Thou Shalt Not Specialize |
2018-03 (Jacksonville) |
Complete |
11 |
||
Manipulators for C++ Synchronized Buffered Ostream |
2018-03 (Jacksonville) |
||||
<version> |
2018-03 (Jacksonville) |
Complete |
7 |
||
Comparing Unordered Containers |
2018-03 (Jacksonville) |
Nothing To Do |
|||
Constexpr iterator requirements |
2018-03 (Jacksonville) |
Complete |
12 |
||
Symmetry for spaceship |
2018-03 (Jacksonville) |
Complete |
7 |
||
|
2018-03 (Jacksonville) |
Complete |
12 |
It was previously erroneously marked as complete in version 8. See bug 45368 |
|
Atomic Ref |
2018-06 (Rapperswil) |
Complete |
19 |
||
Checking for Existence of an Element in Associative Containers |
2018-06 (Rapperswil) |
Complete |
13 |
||
LWG 2511: guaranteed copy elision for piecewise construction |
2018-06 (Rapperswil) |
Complete |
|||
Bit-casting object representations |
2018-06 (Rapperswil) |
Complete |
14 |
||
The Curious Case of Padding Bits, Featuring Atomic Compare-and-Exchange |
2018-06 (Rapperswil) |
||||
Support for contract based programming in C++ |
2018-06 (Rapperswil) |
Nothing To Do |
n/a |
Pulled at the 2019-07 meeting in Cologne |
|
Integral power-of-2 operations |
2018-06 (Rapperswil) |
Complete |
9 |
||
Reviewing Deprecated Facilities of C++17 for C++20 |
2018-06 (Rapperswil) |
Complete |
20 |
Removed headers are still provided as an extension, but with deprecation warnings |
|
Improving the Return Value of Erase-Like Algorithms |
2018-06 (Rapperswil) |
Complete |
10 |
||
Efficient sized delete for variable sized classes |
2018-06 (Rapperswil) |
Complete |
9 |
||
Implicit conversion traits and utility functions |
2018-06 (Rapperswil) |
Complete |
|||
fpos Requirements |
2018-06 (Rapperswil) |
Complete |
11 |
||
Add shift to <algorithm> |
2018-06 (Rapperswil) |
Complete |
12 |
||
Standard Library Specification in a Concepts and Contracts World |
2018-06 (Rapperswil) |
Nothing To Do |
n/a |
Pulled at the 2019-07 meeting in Cologne |
|
Constexpr for swap and swap related functions Also resolves LWG issue 2800. |
2018-06 (Rapperswil) |
Complete |
13 |
||
The identity metafunction |
2018-06 (Rapperswil) |
Complete |
8 |
||
explicit(bool) |
2018-06 (Rapperswil) |
||||
Standard Library Concepts |
2018-06 (Rapperswil) |
Complete |
13 |
||
Eradicating unnecessarily explicit default constructors from the standard library |
2018-06 (Rapperswil) |
Complete |
12 |
||
Integrating feature-test macros into the C++ WD |
2018-06 (Rapperswil) |
In Progress |
|||
constexpr comparison operators for std::array |
2018-06 (Rapperswil) |
Complete |
8 |
||
Update The Reference To The Unicode Standard |
2018-06 (Rapperswil) |
||||
Consistency improvements for <=> and other comparison operators |
2018-06 (Rapperswil) |
||||
unwrap_ref_decay and unwrap_reference |
2018-11 (San Diego) |
Complete |
8 |
||
Simplified partial function application |
2018-11 (San Diego) |
Complete |
13 |
||
reference_wrapper for incomplete types |
2018-11 (San Diego) |
Complete |
8 |
||
char8_t: A type for UTF-8 characters and strings |
2018-11 (San Diego) |
Complete |
16 |
||
Fixing |
2018-11 (San Diego) |
Complete |
8 |
||
Utility functions to implement uses-allocator construction |
2018-11 (San Diego) |
Partial |
The changes in [mem.poly.allocator.mem] are missing |
||
std::is_constant_evaluated() |
2018-11 (San Diego) |
Complete |
9 |
||
variant and optional should propagate copy/move triviality |
2018-11 (San Diego) |
Complete |
8 |
||
A sane variant converting constructor |
2018-11 (San Diego) |
Complete |
9 |
||
visit<R>: Explicit Return Type for visit |
2018-11 (San Diego) |
Complete |
12 |
||
std::function move constructor should be noexcept |
2018-11 (San Diego) |
Complete |
6 |
||
The One Ranges Proposal |
2018-11 (San Diego) |
Complete |
15 |
||
P0899R1 - LWG 3016 is not a defect |
2018-11 (San Diego) |
Nothing To Do |
|||
Heterogeneous lookup for unordered containers |
2018-11 (San Diego) |
Complete |
12 |
||
<chrono> |
2018-11 (San Diego) |
Complete |
8 |
||
Constexpr in std::pointer_traits |
2018-11 (San Diego) |
Complete |
8 |
||
|
2018-11 (San Diego) |
Complete |
15 |
||
Smart pointer creation with default initialization |
2018-11 (San Diego) |
Complete |
16 |
The feature-test macro was not set until LLVM 20. |
|
Misc constexpr bits |
2018-11 (San Diego) |
Complete |
13 |
||
Should Span be Regular? |
2018-11 (San Diego) |
Complete |
8 |
||
Editorial Guidance for merging P0019r8 and P0528r3 |
2018-11 (San Diego) |
||||
Cleaning up Clause 20 |
2018-11 (San Diego) |
||||
Make stateful allocator propagation more consistent for |
2018-11 (San Diego) |
Complete |
15 |
||
Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20 |
2018-11 (San Diego) |
Complete |
8 |
||
P1210R0: Completing the Rebase of Library Fundamentals, Version 3, Working Draft |
2018-11 (San Diego) |
Nothing To Do |
|||
Alternative Wording for P0907R4 Signed Integers are Two’s Complement |
2018-11 (San Diego) |
||||
Remove CommonReference requirement from StrictWeakOrdering (a.k.a Fixing Relations) |
2018-11 (San Diego) |
Complete |
13 |
||
Improving Completeness Requirements for Type Traits |
2018-11 (San Diego) |
||||
Missing feature test macros |
2018-11 (San Diego) |
In Progress |
|||
polymorphic_allocator<> as a vocabulary type |
2019-02 (Kona) |
Complete |
16 |
||
Making std::underlying_type SFINAE-friendly |
2019-02 (Kona) |
Complete |
9 |
||
I Stream, You Stream, We All Stream for istream_iterator |
2019-02 (Kona) |
||||
Well-behaved interpolation for numbers and pointers |
2019-02 (Kona) |
Complete |
9 |
||
Precalculated hash values in lookup |
2019-02 (Kona) |
Nothing To Do |
Reverted by P1661 |
||
Target Vectorization Policies from Parallelism V2 TS to C++20 |
2019-02 (Kona) |
Complete |
17 |
||
Usability Enhancements for std::span |
2019-02 (Kona) |
Complete |
9 |
||
Make create_directory() Intuitive |
2019-02 (Kona) |
Complete |
12 |
||
Signed ssize() functions, unsigned size() functions |
2019-02 (Kona) |
Complete |
9 |
||
Ranges Design Cleanup |
2019-02 (Kona) |
Complete |
15 |
||
Contra CWG DR1778 |
2019-02 (Kona) |
||||
Traits for [Un]bounded Arrays |
2019-02 (Kona) |
Complete |
9 |
||
Mandating the Standard Library: Clause 16 - Language support library |
2019-02 (Kona) |
Complete |
9 |
||
Mandating the Standard Library: Clause 18 - Diagnostics library |
2019-02 (Kona) |
Complete |
9 |
||
Mandating the Standard Library: Clause 20 - Strings library |
2019-02 (Kona) |
Complete |
9 |
||
Mandating the Standard Library: Clause 21 - Containers library |
2019-02 (Kona) |
||||
Mandating the Standard Library: Clause 22 - Iterators library |
2019-02 (Kona) |
Complete |
9 |
||
to_array from LFTS with updates |
2019-07 (Cologne) |
Complete |
10 |
||
Efficient Access to basic_stringbuf’s Buffer |
2019-07 (Cologne) |
Complete |
17 |
||
Layout-compatibility and Pointer-interconvertibility Traits |
2019-07 (Cologne) |
||||
Bit operations |
2019-07 (Cologne) |
Complete |
9 |
||
Math Constants |
2019-07 (Cologne) |
Complete |
11 |
||
Text Formatting |
2019-07 (Cologne) |
Complete |
14 |
The implementation was complete since LLVM 14, but the feature-test macro was not set until LLVM 19 |
|
Stop Token and Joining Thread, Rev 10. |
2019-07 (Cologne) |
Complete |
20 |
The feature was implemented since LLVM 18 but was guarded behind |
|
More constexpr containers |
2019-07 (Cologne) |
Complete |
12 |
||
Making std::string constexpr |
2019-07 (Cologne) |
Complete |
15 |
||
Making std::vector constexpr |
2019-07 (Cologne) |
Complete |
15 |
||
Input Range Adaptors |
2019-07 (Cologne) |
Complete |
16 |
||
Constexpr INVOKE |
2019-07 (Cologne) |
Complete |
12 |
||
The C++20 Synchronization Library |
2019-07 (Cologne) |
Complete |
11 |
||
Movability of Single-pass Iterators |
2019-07 (Cologne) |
Complete |
15 |
||
Adopt source_location for C++20 |
2019-07 (Cologne) |
Complete |
16 |
||
Exposing a narrow contract for ceil2 |
2019-07 (Cologne) |
Complete |
9 |
||
Integration of chrono with text formatting |
2019-07 (Cologne) |
Partial |
|||
char8_t backward compatibility remediation |
2019-07 (Cologne) |
Complete |
15 |
||
‘constexpr’ feature macro concerns |
2019-07 (Cologne) |
Nothing To Do |
Superseded by P1902 |
||
Miscellaneous minor fixes for chrono |
2019-07 (Cologne) |
Partial |
|||
Helpful pointers for ContiguousIterator |
2019-07 (Cologne) |
Complete |
15 |
||
Standard library header units for C++20 |
2019-07 (Cologne) |
||||
Iterator Difference Type and Integer Overflow |
2019-07 (Cologne) |
Complete |
15 |
||
Views and Size Types |
2019-07 (Cologne) |
Complete |
15 |
||
Relocate Endian’s Specification |
2019-07 (Cologne) |
Complete |
10 |
||
The Mothership has Landed |
2019-07 (Cologne) |
Complete |
19 |
|
|
basic_istream_view::iterator should not be copyable |
2019-07 (Cologne) |
Complete |
16 |
||
Add wait/notify to atomic_ref |
2019-07 (Cologne) |
Complete |
19 |
||
Add wait/notify to atomic<shared_ptr> |
2019-07 (Cologne) |
||||
Output std::chrono::days with ‘d’ suffix |
2019-07 (Cologne) |
Complete |
16 |
||
bind_front should not unwrap reference_wrapper |
2019-07 (Cologne) |
Complete |
13 |
||
Printf corner cases in std::format |
2019-07 (Cologne) |
Complete |
14 |
||
Remove dedicated precalculated hash lookup interface |
2019-07 (Cologne) |
Nothing To Do |
|||
Rename concepts to standard_case for C++20, while we still can |
2019-07 (Cologne) |
Complete |
15 |
||
Fixing Atomic Initialization |
2019-11 (Belfast) |
Complete |
14 |
shared_ptr and floating-point changes weren’t applied as they themselves aren’t implemented yet. Also, |
|
Range constructor for std::string_view |
2019-11 (Belfast) |
Complete |
14 |
||
Range constructor for std::span |
2019-11 (Belfast) |
Complete |
14 |
||
Move-only views |
2019-11 (Belfast) |
Complete |
15 |
||
Mandating the Standard Library: Clause 32 - Thread support library |
2019-11 (Belfast) |
||||
constexpr for numeric algorithms |
2019-11 (Belfast) |
Complete |
12 |
||
Mandating the Standard Library: Clause 27 - Time library |
2019-11 (Belfast) |
||||
Refinement Proposal for P0919 Heterogeneous lookup for unordered containers |
2019-11 (Belfast) |
Complete |
12 |
||
ranges compare algorithm are over-constrained |
2019-11 (Belfast) |
Complete |
15 |
||
Mandating the Standard Library: Clause 25 - Algorithms library |
2019-11 (Belfast) |
||||
Mandating the Standard Library: Clause 26 - Numerics library |
2019-11 (Belfast) |
||||
Mandating the Standard Library: Clause 28 - Localization library |
2019-11 (Belfast) |
||||
Mandating the Standard Library: Clause 29 - Input/Output library |
2019-11 (Belfast) |
||||
Mandating the Standard Library: Clause 30 - Regular Expression library |
2019-11 (Belfast) |
||||
Mandating the Standard Library: Clause 31 - Atomics library |
2019-11 (Belfast) |
||||
Make |
2019-11 (Belfast) |
||||
Ranges adaptors for non-copyable iterators |
2019-11 (Belfast) |
Complete |
16 |
||
Add max() to latch and barrier |
2019-11 (Belfast) |
Complete |
11 |
||
Rename ‘condition_variable_any’ interruptible wait methods |
2019-11 (Belfast) |
Complete |
18 |
||
forwarding-range is too subtle |
2019-11 (Belfast) |
Complete |
15 |
||
Concept traits should be named after concepts |
2019-11 (Belfast) |
Complete |
14 |
||
span should have size_type, not index_type |
2019-11 (Belfast) |
Complete |
10 |
||
Constraining Readable Types |
2019-11 (Belfast) |
Complete |
15 |
||
Extended locale-specific presentation specifiers for std::format |
2019-11 (Belfast) |
Complete |
14 |
||
Missing feature-test macros 2018-2019 |
2019-11 (Belfast) |
||||
Remove std::weak_equality and std::strong_equality |
2019-11 (Belfast) |
Nothing To Do |
|||
NB Comment Changes Reviewed by SG1 |
2019-11 (Belfast) |
||||
Harmonizing the definitions of total order for pointers |
2019-11 (Belfast) |
||||
Blanket Wording for Specifying “Hidden Friends” |
2019-11 (Belfast) |
||||
Safe integral comparisons |
2020-02 (Prague) |
Complete |
13 |
||
Implicit creation of objects for low-level object manipulation |
2020-02 (Prague) |
||||
Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if |
2020-02 (Prague) |
Complete |
11 |
||
Rangify New Algorithms |
2020-02 (Prague) |
Complete |
15 |
||
Mandating the Standard Library: Clause 20 - Utilities library |
2020-02 (Prague) |
||||
Avoid template bloat for safe_ranges in combination with “subrange-y” view adaptors |
2020-02 (Prague) |
Complete |
15 |
||
Deprecating volatile: library |
2020-02 (Prague) |
||||
width: clarifying units of width and precision in std::format |
2020-02 (Prague) |
Complete |
14 |
||
On the names of low-level bit manipulation functions |
2020-02 (Prague) |
Complete |
12 |
||
Converting from |
2020-02 (Prague) |
Complete |
18 |
||
Fixing US 313 |
2020-02 (Prague) |
||||
Wording for boolean-testable |
2020-02 (Prague) |
Complete |
13 |
||
Consistency for size() functions: Add ranges::ssize |
2020-02 (Prague) |
Complete |
15 |
||
Rename “_default_init” Functions, Rev1 |
2020-02 (Prague) |
Complete |
16 |
The feature-test macro was not set until LLVM 20. |
|
Fixed-size span construction from dynamic range |
2020-02 (Prague) |
Complete |
11 |
||
Rename leap to leap_second |
2020-02 (Prague) |
Complete |
19 |
||
Rename link to time_zone_link |
2020-02 (Prague) |
Complete |
19 |
||
Wording for GB301, US296, US292, US291, and US283 |
2020-02 (Prague) |
Complete |
15 |
||
elements_view needs its own sentinel |
2020-02 (Prague) |
Complete |
16 |
||
Defaulted comparison specification cleanups |
2020-02 (Prague) |
Complete |
7 |
||
Missing Mandates for the standard library |
2020-02 (Prague) |
||||
Consistent defaulted comparisons |
2020-02 (Prague) |
||||
Issues with range access CPOs |
2020-02 (Prague) |
Complete |
15 |
||
P2101R0: ‘Models’ subsumes ‘satisfies’ (Wording for US298 and US300) |
2020-02 (Prague) |
Nothing To Do |
|||
Make ‘implicit expression variations’ more explicit (Wording for US185) |
2020-02 (Prague) |
Complete |
15 |
||
Alternative wording for GB315 and GB316 |
2020-02 (Prague) |
Complete |
15 |
||
Remove tuple-like protocol support from fixed-extent span |
2020-02 (Prague) |
Complete |
11 |
||
Missing constexpr in std::optional and std::variant |
2021-06 (Virtual) |
Complete |
19 |
Changes of feature-test macros are completed in LLVM 20. |
|
Views should not be required to be default constructible |
2021-06 (Virtual) |
Complete |
16 |
||
Superior String Splitting |
2021-06 (Virtual) |
Complete |
16 |
||
std::format improvements |
2021-06 (Virtual) |
Complete |
15 |
||
Clarifying range adaptor objects |
2021-06 (Virtual) |
Complete |
14 |
||
join_view should join all views of ranges |
2021-06 (Virtual) |
Complete |
15 |
||
Remove misuses of list-initialization from Clause 24 |
2021-06 (Virtual) |
Complete |
15 |
||
Fixing locale handling in chrono formatters |
2021-10 (Virtual) |
In Progress |
|||
What is a |
2021-10 (Virtual) |
Complete |
14 |
||
Add support for |
2021-10 (Virtual) |
Complete |
15 |
||
Fix |
2021-10 (Virtual) |
Complete |
16 |
Library Working Group Issues Status¶
Issue # |
Issue Name |
Meeting |
Status |
First released version |
Notes |
---|---|---|---|---|---|
|
2017-07 (Toronto) |
Nothing To Do |
Resolved by P0674R1 |
||
Inconsistent complexity for |
2017-07 (Toronto) |
Nothing To Do |
|||
Moved-from state of Allocators |
2017-07 (Toronto) |
Nothing To Do |
|||
|
2017-07 (Toronto) |
||||
|
2017-07 (Toronto) |
Complete |
|||
Constraints on parallel algorithm implementations are underspecified |
2017-07 (Toronto) |
||||
Is |
2017-07 (Toronto) |
Complete |
|||
|
2017-07 (Toronto) |
Nothing To Do |
|||
LWG 2873’s resolution missed |
2017-07 (Toronto) |
Complete |
|||
Specialization of the convenience variable templates should be prohibited |
2017-07 (Toronto) |
Complete |
|||
Bad postcondition for |
2017-07 (Toronto) |
Complete |
16 |
||
Incomplete resolution of US 74 |
2017-07 (Toronto) |
Nothing To Do |
|||
Diagnose out of bounds |
2017-07 (Toronto) |
Complete |
|||
[networking.ts] Relax requirements on buffer sequence iterators |
2017-11 (Albuquerque) |
||||
Default value of parameter theta of polar should be dependent |
2017-11 (Albuquerque) |
Complete |
|||
What should create_directories do when p already exists but is not a directory? |
2017-11 (Albuquerque) |
Nothing To Do |
|||
[thread.req.timing] wording should apply to both member and namespace-level functions |
2017-11 (Albuquerque) |
Nothing To Do |
|||
LWG 2905 accidentally removed requirement that construction of the deleter doesn’t throw an exception |
2017-11 (Albuquerque) |
Nothing To Do |
|||
Order of template parameters in optional comparisons |
2017-11 (Albuquerque) |
Complete |
|||
unique_ptr does not define operator<< for stream output |
2017-11 (Albuquerque) |
Complete |
|||
std::byte operations are misspecified |
2017-11 (Albuquerque) |
Complete |
|||
iterator_traits should work for pointers to cv T |
2017-11 (Albuquerque) |
Complete |
|||
LWG 2853 should apply to deque::erase too |
2017-11 (Albuquerque) |
Complete |
|||
Moves improperly defined as deleted |
2017-11 (Albuquerque) |
Complete |
|||
Apparently redundant requirement for dynamic_pointer_cast |
2017-11 (Albuquerque) |
||||
Non-existing path::native_string() in filesystem_error::what() specification |
2017-11 (Albuquerque) |
Nothing To Do |
|||
What is |
2017-11 (Albuquerque) |
Complete |
|||
Dangling uses_allocator specialization for packaged_task |
2017-11 (Albuquerque) |
Complete |
20 |
Originally implemented in LLVM 6 but reverted later. Old documentation incorrectly said it was implemented. |
|
unordered_meow::merge() has incorrect Throws: clause |
2017-11 (Albuquerque) |
Nothing To Do |
|||
Hash support for pmr::string and friends |
2017-11 (Albuquerque) |
Complete |
16 |
||
aligned_union should require complete object types |
2017-11 (Albuquerque) |
Complete |
|||
Cannot compare_exchange empty pointers |
2017-11 (Albuquerque) |
||||
Remove redundant deduction guides from standard library |
2017-11 (Albuquerque) |
Nothing To Do |
|||
Making size_type consistent in associative container deduction guides |
2017-11 (Albuquerque) |
||||
Clause 32 cleanup missed one typename |
2017-11 (Albuquerque) |
Complete |
13 |
||
reference_wrapper<T> conversion from T&& |
2017-11 (Albuquerque) |
Complete |
13 |
||
Requirements on function objects passed to { |
2017-11 (Albuquerque) |
Nothing To Do |
|||
weak_ptr::element_type needs remove_extent_t |
2017-11 (Albuquerque) |
Complete |
14 |
||
variant’s copies must be deleted instead of disabled via SFINAE |
2017-11 (Albuquerque) |
Complete |
|||
What are the semantics of |
2018-03 (Jacksonville) |
Complete |
|||
|
2018-03 (Jacksonville) |
Complete |
|||
|
2018-03 (Jacksonville) |
Nothing To Do |
|||
Unclear behavior of |
2018-03 (Jacksonville) |
Complete |
|||
Why does |
2018-03 (Jacksonville) |
Nothing To Do |
|||
|
2018-03 (Jacksonville) |
Nothing To Do |
|||
LWG 2758’s resolution missed further corrections |
2018-03 (Jacksonville) |
Complete |
|||
|
2018-03 (Jacksonville) |
Complete |
|||
Missing case for |
2018-03 (Jacksonville) |
||||
|
2018-03 (Jacksonville) |
Complete |
|||
|
2018-03 (Jacksonville) |
Complete |
16 |
||
[networking.ts] |
2018-03 (Jacksonville) |
||||
§[string.capacity] and §[vector.capacity] should specify time complexity for |
2018-03 (Jacksonville) |
Nothing To Do |
|||
Destruction order of arrays by |
2018-03 (Jacksonville) |
||||
|
2018-03 (Jacksonville) |
||||
Including |
2018-03 (Jacksonville) |
Complete |
|||
[networking.ts] |
2018-03 (Jacksonville) |
||||
|
2018-03 (Jacksonville) |
Complete |
|||
More |
2018-03 (Jacksonville) |
Complete |
|||
|
2018-03 (Jacksonville) |
Nothing To Do |
|||
|
2018-03 (Jacksonville) |
Complete |
|||
[networking.ts] Remove spurious nested |
2018-03 (Jacksonville) |
||||
|
2018-03 (Jacksonville) |
Complete |
|||
Who shall meet the requirements of |
2018-03 (Jacksonville) |
Nothing To Do |
|||
P0767R1 breaks previously-standard-layout types |
2018-03 (Jacksonville) |
Complete |
|||
|
2018-03 (Jacksonville) |
Complete |
|||
Unnecessary |
2018-03 (Jacksonville) |
Complete |
|||
Unnecessary |
2018-03 (Jacksonville) |
Complete |
|||
|
2018-03 (Jacksonville) |
Complete |
|||
Bogus postcondition for |
2018-03 (Jacksonville) |
Complete |
|||
|
2018-03 (Jacksonville) |
Complete |
18 |
||
|
2018-03 (Jacksonville) |
Complete |
17 |
||
Floating point classifications were inadvertently changed in P0175 |
2018-03 (Jacksonville) |
Nothing To Do |
|||
|
2018-03 (Jacksonville) |
Complete |
|||
What is a user-defined type? |
2018-06 (Rapperswil) |
||||
Return type of std::visit misspecified |
2018-06 (Rapperswil) |
Complete |
11 |
||
Parallel adjacent_difference shouldn’t require creating temporaries |
2018-06 (Rapperswil) |
||||
Unnecessary decay_t in is_execution_policy_v should be remove_cvref_t |
2018-06 (Rapperswil) |
Complete |
17 |
||
recursive_directory_iterator::pop must invalidate |
2018-06 (Rapperswil) |
Nothing To Do |
|||
[networking.ts] read_until still refers to “input sequence” |
2018-06 (Rapperswil) |
Nothing To Do |
|||
Non-member functions for valarray should only deduce from the valarray |
2018-06 (Rapperswil) |
||||
basic_string CTAD ambiguity |
2018-06 (Rapperswil) |
Complete |
|||
LWG 2935 forgot to fix the existing_p overloads of create_directory |
2018-06 (Rapperswil) |
Nothing To Do |
|||
Floating point from_chars pattern specification breaks round-tripping |
2018-06 (Rapperswil) |
||||
What should ios::iword(-1) do? |
2018-06 (Rapperswil) |
Nothing To Do |
|||
[time.duration.io]p4 makes surprising claims about encoding |
2018-06 (Rapperswil) |
||||
Unnecessary and confusing “empty span” wording |
2018-06 (Rapperswil) |
Nothing To Do |
|||
Clarify span iterator and |
2018-06 (Rapperswil) |
Complete |
|||
Fixing duration division |
2018-06 (Rapperswil) |
Complete |
|||
Muddled allocator requirements for |
2018-11 (San Diego) |
Complete |
|||
Muddled allocator requirements for |
2018-11 (San Diego) |
Complete |
|||
|
2018-11 (San Diego) |
||||
|
2018-11 (San Diego) |
Nothing To Do |
Resolved by P0487R1 |
||
|
2018-11 (San Diego) |
Nothing To Do |
|||
[concurr.ts] Behavior of |
2018-11 (San Diego) |
||||
Trait precondition violations |
2018-11 (San Diego) |
Nothing To Do |
Resolved by P1285R0 |
||
Path comparison is defined in terms of the generic format |
2018-11 (San Diego) |
Complete |
|||
Problematic specification of the wide version of |
2018-11 (San Diego) |
Nothing To Do |
|||
[fund.ts.v3] |
2018-11 (San Diego) |
Complete |
|||
|
2018-11 (San Diego) |
Complete |
20 |
||
Missing rvalue overloads for |
2018-11 (San Diego) |
Complete |
17 |
||
|
2018-11 (San Diego) |
Complete |
16 |
||
|
2018-11 (San Diego) |
Nothing To Do |
Resolved by P1285R0 |
||
Map-like container deduction guides should use |
2018-11 (San Diego) |
Complete |
|||
Algorithms and predicates with non-const reference arguments |
2018-11 (San Diego) |
||||
|
2018-11 (San Diego) |
Complete |
16 |
||
|
2018-11 (San Diego) |
Complete |
14 |
||
|
2018-11 (San Diego) |
Nothing To Do |
|||
LWG 2989 missed that all |
2018-11 (San Diego) |
Complete |
|||
|
2018-11 (San Diego) |
Complete |
|||
|
2018-11 (San Diego) |
||||
|
2018-11 (San Diego) |
Complete |
|||
|
2018-11 (San Diego) |
Complete |
18 |
||
|
2018-11 (San Diego) |
Nothing To Do |
|||
|
2018-11 (San Diego) |
||||
§[input.output] needs many |
2018-11 (San Diego) |
Complete |
20 |
||
|
2018-11 (San Diego) |
||||
Library needs to ban macros named |
2018-11 (San Diego) |
Nothing To Do |
|||
[fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961 |
2018-11 (San Diego) |
Nothing To Do |
Resolved by P1210R0 |
||
Header for |
2018-11 (San Diego) |
Complete |
|||
|
2018-11 (San Diego) |
Nothing To Do |
|||
|
2018-11 (San Diego) |
Complete |
|||
Definitions of “likely” and “unlikely” are likely to cause problems |
2018-11 (San Diego) |
Nothing To Do |
|||
|
2018-11 (San Diego) |
||||
|
2018-11 (San Diego) |
Complete |
13 |
||
|
2018-11 (San Diego) |
Nothing To Do |
|||
|
2019-02 (Kona) |
||||
|
2019-02 (Kona) |
Complete |
|||
|
2019-02 (Kona) |
Nothing To Do |
|||
One final |
2019-02 (Kona) |
Nothing To Do |
|||
|
2019-02 (Kona) |
Complete |
|||
|
2019-02 (Kona) |
Nothing To Do |
|||
Program-definedness of closure types |
2019-02 (Kona) |
Nothing To Do |
|||
Modernizing numeric type requirements |
2019-02 (Kona) |
||||
|
2019-02 (Kona) |
Complete |
|||
Enable CTAD for |
2019-02 (Kona) |
Complete |
15 |
||
|
2019-02 (Kona) |
Nothing To Do |
|||
Inconsistently named return type for |
2019-02 (Kona) |
Complete |
15 |
||
Specification of |
2019-02 (Kona) |
Complete |
15 |
||
|
2019-07 (Cologne) |
||||
|
2019-07 (Cologne) |
Complete |
7 |
||
|
2019-07 (Cologne) |
Complete |
10 |
||
|
2019-07 (Cologne) |
Complete |
15 |
||
Normative permission to specialize Ranges variable templates |
2019-07 (Cologne) |
Nothing To Do |
|||
Inconsistencies in |
2019-07 (Cologne) |
Complete |
13 |
||
Uses-allocator construction functions missing |
2019-07 (Cologne) |
Complete |
16 |
||
|
2019-07 (Cologne) |
Complete |
15 |
||
P0591R4 reverted DR 2586 fixes to |
2019-07 (Cologne) |
||||
|
2019-07 (Cologne) |
Complete |
15 |
||
|
2019-07 (Cologne) |
Complete |
|||
Bad constraint on |
2019-07 (Cologne) |
Complete |
|||
|
2019-07 (Cologne) |
Complete |
10 |
||
P0318R1 was supposed to be revised |
2019-07 (Cologne) |
Complete |
|||
|
2019-07 (Cologne) |
Complete |
|||
|
2019-07 (Cologne) |
Nothing To Do |
|||
Expression in |
2019-07 (Cologne) |
Complete |
|||
|
2019-11 (Belfast) |
Nothing To Do |
|||
|
2019-11 (Belfast) |
Complete |
19 |
||
|
2019-11 (Belfast) |
Complete |
14 |
||
Modifier for |
2019-11 (Belfast) |
||||
|
2019-11 (Belfast) |
Complete |
19 |
||
Format specifier |
2019-11 (Belfast) |
Complete |
16 |
||
Inconsistency in |
2019-11 (Belfast) |
Complete |
19 |
||
P0574R1 introduced preconditions on non-existent parameters |
2019-11 (Belfast) |
||||
Result of |
2019-11 (Belfast) |
Complete |
8 |
||
|
2019-11 (Belfast) |
||||
LWG3246: What are the constraints on the template parameter of basic_format_arg? |
2019-11 (Belfast) |
Nothing To Do |
|||
|
2019-11 (Belfast) |
Complete |
20 |
||
Unnecessary restriction on |
2019-11 (Belfast) |
||||
Constraints for |
2019-11 (Belfast) |
||||
|
2019-11 (Belfast) |
Complete |
16 |
||
Missing feature testing macro update from P0858 |
2019-11 (Belfast) |
Complete |
12 |
||
Feature testing macro for |
2019-11 (Belfast) |
Complete |
13 |
||
Specify |
2019-11 (Belfast) |
Complete |
16 |
||
|
2019-11 (Belfast) |
||||
|
2019-11 (Belfast) |
Complete |
14 |
||
|
2019-11 (Belfast) |
||||
The definition of constexpr iterators should be adjusted |
2019-11 (Belfast) |
Nothing To Do |
|||
Errors in taking subview of |
2019-11 (Belfast) |
Complete |
11 |
||
Missing feature test macro for |
2019-11 (Belfast) |
Complete |
11 |
||
Class |
2019-11 (Belfast) |
Complete |
15 |
||
Pre-increment on prvalues is not a requirement of |
2019-11 (Belfast) |
Nothing To Do |
|||
|
2019-11 (Belfast) |
Complete |
13 |
||
More useful rvalue stream insertion |
2020-02 (Prague) |
Complete |
12 |
||
Definition of reachable in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object |
2020-02 (Prague) |
||||
|
2020-02 (Prague) |
Nothing To Do |
|||
Conversion specification problem in |
2020-02 (Prague) |
Complete |
19 |
||
|
2020-02 (Prague) |
Nothing To Do |
|||
|
2020-02 (Prague) |
Complete |
13 |
||
The |
2020-02 (Prague) |
Complete |
13 |
||
|
2020-02 (Prague) |
Complete |
13 |
||
|
2020-02 (Prague) |
Nothing To Do |
|||
|
2020-02 (Prague) |
Complete |
|||
|
2020-02 (Prague) |
Complete |
19 |
||
Broken requirements for |
2020-02 (Prague) |
Complete |
19 |
||
LWG 3038 and 3190 have inconsistent PRs |
2020-02 (Prague) |
Complete |
16 |
||
Insufficiently-defined behavior of |
2020-02 (Prague) |
Nothing To Do |
|||
|
2020-02 (Prague) |
Complete |
14 |
||
|
2020-02 (Prague) |
Complete |
14 |
||
|
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Complete |
14 |
||
|
2020-02 (Prague) |
Complete |
14 |
||
Are |
2020-02 (Prague) |
Complete |
14 |
||
Parse locale’s aware modifiers for commands are not consistent with POSIX spec |
2020-02 (Prague) |
||||
Strike |
2020-02 (Prague) |
Complete |
17 |
||
|
2020-02 (Prague) |
Complete |
|||
|
2020-02 (Prague) |
||||
Formatting of negative durations is not specified |
2020-02 (Prague) |
Complete |
16 |
||
|
2020-02 (Prague) |
Complete |
15 |
||
Parse manipulators do not specify the result of the extraction from stream |
2020-02 (Prague) |
||||
Parsing and formatting |
2020-02 (Prague) |
Partial |
|||
View converting constructors can cause constraint recursion and are unneeded |
2020-02 (Prague) |
Complete |
15 |
||
Conversion from |
2020-02 (Prague) |
Complete |
13 |
||
|
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Nothing To Do |
|||
The type of a customization point object shall satisfy |
2020-02 (Prague) |
Nothing To Do |
|||
|
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Complete |
19 |
||
Inconsistent default argument for |
2020-02 (Prague) |
Complete |
|||
Pointers don’t need customized iterator behavior |
2020-02 (Prague) |
Complete |
15 |
||
Non-array |
2020-02 (Prague) |
Nothing To Do |
|||
|
2020-02 (Prague) |
Complete |
15 |
||
Range adaptor objects |
2020-02 (Prague) |
Complete |
16 |
||
Bad “ |
2020-02 (Prague) |
||||
Allocate functions of |
2020-02 (Prague) |
Complete |
16 |
||
|
2020-02 (Prague) |
Complete |
20 |
||
Replace |
2020-02 (Prague) |
Complete |
16 |
||
|
2020-02 (Prague) |
Complete |
14 |
||
Is stream insertion behavior locale dependent when |
2020-02 (Prague) |
Complete |
16 |
||
LWG3315: Correct Allocator Default Behavior |
2020-02 (Prague) |
Complete |
|||
Correctly define epoch for |
2020-02 (Prague) |
||||
Incorrect |
2020-02 (Prague) |
Complete |
16 |
||
Clarify whether clocks can represent time before their epoch |
2020-02 (Prague) |
||||
Properly reference specification of IANA time zone database |
2020-02 (Prague) |
Nothing To Do |
|||
|
2020-02 (Prague) |
Complete |
|||
|
2020-02 (Prague) |
Complete |
16 |
||
|
2020-02 (Prague) |
Complete |
16 |
||
Special-case |
2020-02 (Prague) |
Complete |
14 |
||
Constrain return type of transformation function for |
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Complete |
15 |
||
Format alignment specifiers vs. text direction |
2020-02 (Prague) |
Nothing To Do |
|||
Clarify that |
2020-02 (Prague) |
Nothing To Do |
|||
|
2020-02 (Prague) |
Complete |
13 |
||
Include |
2020-02 (Prague) |
Complete |
13 |
||
Define |
2020-02 (Prague) |
Complete |
13 |
||
Issue in §[time.format] |
2020-02 (Prague) |
Complete |
16 |
||
|
2020-02 (Prague) |
Complete |
18 |
||
Resolve C++20 NB comments US 273 and GB 274 |
2020-02 (Prague) |
Complete |
15 |
||
Rename |
2020-02 (Prague) |
Complete |
13 |
||
Formatting functions should throw on argument/format string mismatch in §[format.functions] |
2020-02 (Prague) |
Complete |
14 |
||
|
2020-02 (Prague) |
Nothing To Do |
|||
|
2020-02 (Prague) |
Complete |
17 |
||
|
2020-02 (Prague) |
Complete |
12 |
||
Missing |
2020-02 (Prague) |
Complete |
16 |
||
Simplify return type of |
2020-02 (Prague) |
Complete |
17 |
||
|
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Complete |
19 |
||
|
2020-02 (Prague) |
Nothing To Do |
|||
The memory algorithms should support move-only input iterators introduced by P1207 |
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Complete |
12 |
||
§[span.cons] is mistaken that |
2020-02 (Prague) |
Complete |
17 |
||
|
2020-02 (Prague) |
In Progress |
|||
|
2020-02 (Prague) |
Nothing To Do |
|||
Strike |
2020-02 (Prague) |
Complete |
17 |
||
|
2020-02 (Prague) |
Nothing To Do |
|||
Initialize data members of ranges and their iterators |
2020-02 (Prague) |
Complete |
16 |
||
Integer-class conversions should not throw |
2020-02 (Prague) |
Nothing To Do |
|||
|
2020-02 (Prague) |
Complete |
14 |
||
|
2020-02 (Prague) |
Complete |
14 |
||
|
2020-02 (Prague) |
Complete |
14 |
||
|
2020-02 (Prague) |
Complete |
14 |
||
P0653 + P1006 should have made the other |
2020-02 (Prague) |
Complete |
12 |
||
|
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Nothing To Do |
|||
“ |
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Nothing To Do |
|||
NTTP for |
2020-02 (Prague) |
Nothing To Do |
|||
§[time.zone.leap.nonmembers] |
2020-02 (Prague) |
Complete |
19 |
||
|
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Complete |
15 |
||
§[range.reverse.view] |
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Complete |
16 |
||
A move-only iterator still does not have a |
2020-02 (Prague) |
Complete |
15 |
||
|
2020-02 (Prague) |
Complete |
14 |
||
Missing/incorrect feature test macro for coroutines |
2020-02 (Prague) |
Complete |
14 |
||
LWG3395: Definition for three-way comparison needs to be updated (US 152) |
2020-02 (Prague) |
Nothing To Do |
|||
Clarify point of reference for |
2020-02 (Prague) |
Nothing To Do |
16 |
||
|
2020-02 (Prague) |
Complete |
16 |
||
|
2020-02 (Prague) |
Complete |
14 |
||
|
2020-11 (Virtual) |
Complete |
13 |