forked from OSchip/llvm-project
587 lines
84 KiB
HTML
587 lines
84 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||
"http://www.w3.org/TR/html4/strict.dtd">
|
||
<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||
<title>libc++ C++2a Status</title>
|
||
<link type="text/css" rel="stylesheet" href="menu.css">
|
||
<link type="text/css" rel="stylesheet" href="content.css">
|
||
</head>
|
||
|
||
<body>
|
||
<div id="menu">
|
||
<div>
|
||
<a href="https://llvm.org/">LLVM Home</a>
|
||
</div>
|
||
|
||
<div class="submenu">
|
||
<label>libc++ Info</label>
|
||
<a href="/index.html">About</a>
|
||
</div>
|
||
|
||
<div class="submenu">
|
||
<label>Quick Links</label>
|
||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-dev">cfe-dev</a>
|
||
<a href="https://lists.llvm.org/mailman/listinfo/cfe-commits">cfe-commits</a>
|
||
<a href="https://bugs.llvm.org/">Bug Reports</a>
|
||
<a href="https://github.com/llvm/llvm-project/tree/master/libcxx/">Browse Sources</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="content">
|
||
<!--*********************************************************************-->
|
||
<h1>libc++ C++2a Status</h1>
|
||
<!--*********************************************************************-->
|
||
|
||
<p>In July 2017, the C++ standard committee created a draft for the next version of the C++ standard, known here as "C++2a" (probably to be C++20).</p>
|
||
<p>This page shows the status of libc++; the status of clang's support of the language features is <a href="https://clang.llvm.org/cxx_status.html#cxx2a">here</a>.</p>
|
||
|
||
<p>Reminder: Features in unreleased drafts of the standard are subject to change.</p>
|
||
|
||
<p>The groups that have contributed papers:
|
||
<ul>
|
||
<li>LWG - Library working group</li>
|
||
<li>CWG - Core Language Working group</li>
|
||
<li>SG1 - Study group #1 (Concurrency working group)</li>
|
||
</ul>
|
||
</p>
|
||
|
||
<h3>Paper Status</h3>
|
||
<table id="papers" border="1">
|
||
<tr><th>Paper #</th><th>Group</th><th>Paper Name</th><th>Meeting</th><th>Status</th><th>First released version</th></tr>
|
||
<!--
|
||
<tr><td><a href="https://wg21.link/n3346">3346</a></td><td>LWG</td><td>Terminology for Container Element Requirements - Rev 1</td><td>Kona</td><td>Complete</td><td>3.4</td></tr>
|
||
-->
|
||
<tr><td><a href="https://wg21.link/P0463R1">P0463R1</a></td><td>LWG</td><td>Endian just Endian</td><td>Toronto</td><td>Complete</td><td>7.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0674R1">P0674R1</a></td><td>LWG</td><td>Extending make_shared to Support Arrays</td><td>Toronto</td><td></td><td></td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0020R6">P0020R6</a></td><td>LWG</td><td>Floating Point Atomic</td><td>Albuquerque</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0053R7">P0053R7</a></td><td>LWG</td><td>C++ Synchronized Buffered Ostream</td><td>Albuquerque</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0202R3">P0202R3</a></td><td>LWG</td><td>Add constexpr modifiers to functions in <algorithm> and <utility> Headers</td><td>Albuquerque</td><td><I>In Progress</I></td><td>7.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0415R1">P0415R1</a></td><td>LWG</td><td>Constexpr for <tt>std::complex</tt></td><td>Albuquerque</td><td><I>In Progress</I></td><td>7.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0439R0">P0439R0</a></td><td>LWG</td><td>Make <tt>std::memory_order</tt> a scoped enumeration</td><td>Albuquerque</td><td>Complete</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0457R2">P0457R2</a></td><td>LWG</td><td>String Prefix and Suffix Checking</td><td>Albuquerque</td><td>Complete</td><td>6.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0550R2">P0550R2</a></td><td>LWG</td><td>Transformation Trait <tt>remove_cvref</tt></td><td>Albuquerque</td><td>Complete</td><td>6.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0600R1">P0600R1</a></td><td>LWG</td><td>nodiscard in the Library</td><td>Albuquerque</td><td><I>In Progress</I></td><td>7.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0616R0">P0616R0</a></td><td>LWG</td><td>de-pessimize legacy <numeric> algorithms with std::move</td><td>Albuquerque</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0653R2">P0653R2</a></td><td>LWG</td><td>Utility to convert a pointer to a raw pointer</td><td>Albuquerque</td><td>Complete</td><td>6.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0718R2">P0718R2</a></td><td>LWG</td><td>Atomic shared_ptr</td><td>Albuquerque</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0767R1">P0767R1</a></td><td>CWG</td><td>Deprecate POD</td><td>Albuquerque</td><td>Complete</td><td>7.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0768R1">P0768R1</a></td><td>CWG</td><td>Library Support for the Spaceship (Comparison) Operator</td><td>Albuquerque</td><td>Complete</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0777R1">P0777R1</a></td><td>LWG</td><td>Treating Unnecessary <tt>decay</tt></td><td>Albuquerque</td><td>Complete</td><td>7.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0122R7">P0122R7</a></td><td>LWG</td><td><span></td><td>Jacksonville</td><td>Complete</td><td>7.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0355R7">P0355R7</a></td><td>LWG</td><td>Extending chrono to Calendars and Time Zones</td><td>Jacksonville</td><td><i>In progress</i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0551R3">P0551R3</a></td><td>LWG</td><td>Thou Shalt Not Specialize <tt>std</tt> Function Templates!</td><td>Jacksonville</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0753R2">P0753R2</a></td><td>LWG</td><td>Manipulators for C++ Synchronized Buffered Ostream</td><td>Jacksonville</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0754R2">P0754R2</a></td><td>LWG</td><td><version></td><td>Jacksonville</td><td>Complete</td><td>7.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0809R0">P0809R0</a></td><td>LWG</td><td>Comparing Unordered Containers</td><td>Jacksonville</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0858R0">P0858R0</a></td><td>LWG</td><td>Constexpr iterator requirements</td><td>Jacksonville</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0905R1">P0905R1</a></td><td>CWG</td><td>Symmetry for spaceship</td><td>Jacksonville</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0966R1">P0966R1</a></td><td>LWG</td><td><tt>string::reserve</tt> Should Not Shrink</td><td>Jacksonville</td><td>Complete</td><td>8.0</td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0019R8">P0019R8</a></td><td>LWG</td><td>Atomic Ref</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0458R2">P0458R2</a></td><td>LWG</td><td>Checking for Existence of an Element in Associative Containers</td><td>Rapperswil</td><td>Complete</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0475R1">P0475R1</a></td><td>LWG</td><td>LWG 2511: guaranteed copy elision for piecewise construction</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0476R2">P0476R2</a></td><td>LWG</td><td>Bit-casting object representations</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0528R3">P0528R3</a></td><td>CWG</td><td>The Curious Case of Padding Bits, Featuring Atomic Compare-and-Exchange</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0542R5">P0542R5</a></td><td>CWG</td><td>Support for contract based programming in C++</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0556R3">P0556R3</a></td><td>LWG</td><td>Integral power-of-2 operations</td><td>Rapperswil</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0619R4">P0619R4</a></td><td>LWG</td><td>Reviewing Deprecated Facilities of C++17 for C++20</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0646R1">P0646R1</a></td><td>LWG</td><td>Improving the Return Value of Erase-Like Algorithms</td><td>Rapperswil</td><td>Complete</td><td>10.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0722R3">P0722R3</a></td><td>CWG</td><td>Efficient sized delete for variable sized classes</td><td>Rapperswil</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0758R1">P0758R1</a></td><td>LWG</td><td>Implicit conversion traits and utility functions</td><td>Rapperswil</td><td>Complete</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0759R1">P0759R1</a></td><td>LWG</td><td>fpos Requirements</td><td>Rapperswil</td><td>Complete</td><td>11.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0769R2">P0769R2</a></td><td>LWG</td><td>Add shift to <algorithm></td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0788R3">P0788R3</a></td><td>LWG</td><td>Standard Library Specification in a Concepts and Contracts World</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0879R0">P0879R0</a></td><td>LWG</td><td>Constexpr for swap and swap related functions Also resolves LWG issue 2800.</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0887R1">P0887R1</a></td><td>LWG</td><td>The identity metafunction</td><td>Rapperswil</td><td>Complete</td><td>8.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0892R2">P0892R2</a></td><td>CWG</td><td>explicit(bool)</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0898R3">P0898R3</a></td><td>LWG</td><td>Standard Library Concepts</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0935R0">P0935R0</a></td><td>LWG</td><td>Eradicating unnecessarily explicit default constructors from the standard library</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0941R2">P0941R2</a></td><td>CWG</td><td>Integrating feature-test macros into the C++ WD</td><td>Rapperswil</td><td><i>In progress</i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1023R0">P1023R0</a></td><td>LWG</td><td>constexpr comparison operators for std::array</td><td>Rapperswil</td><td>Complete</td><td>8.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1025R1">P1025R1</a></td><td>CWG</td><td>Update The Reference To The Unicode Standard</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1120R0">P1120R0</a></td><td>CWG</td><td>Consistency improvements for <=> and other comparison operators</td><td>Rapperswil</td><td></td><td></td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0318R1">P0318R1</a></td><td>LWG</td><td>unwrap_ref_decay and unwrap_reference</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0356R5">P0356R5</a></td><td>LWG</td><td>Simplified partial function application</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0357R3">P0357R3</a></td><td>LWG</td><td>reference_wrapper for incomplete types</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0482R6">P0482R6</a></td><td>CWG</td><td>char8_t: A type for UTF-8 characters and strings</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0487R1">P0487R1</a></td><td>LWG</td><td>Fixing operator>>(basic_istream&, CharT*) (LWG 2499)</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0591R4">P0591R4</a></td><td>LWG</td><td>Utility functions to implement uses-allocator construction</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0595R2">P0595R2</a></td><td>CWG</td><td>P0595R2 std::is_constant_evaluated()</td><td>San Diego</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0602R4">P0602R4</a></td><td>LWG</td><td>variant and optional should propagate copy/move triviality</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0608R3">P0608R3</a></td><td>LWG</td><td>A sane variant converting constructor</td><td>San Diego</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0655R1">P0655R1</a></td><td>LWG</td><td>visit<R>: Explicit Return Type for visit</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0771R1">P0771R1</a></td><td>LWG</td><td>std::function move constructor should be noexcept</td><td>San Diego</td><td>Complete</td><td>6.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0896R4">P0896R4</a></td><td>LWG</td><td>The One Ranges Proposal</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0899R1">P0899R1</a></td><td>LWG</td><td>P0899R1 - LWG 3016 is not a defect</td><td>San Diego</td><td><i>Nothing to do</i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0919R3">P0919R3</a></td><td>LWG</td><td>Heterogeneous lookup for unordered containers</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0972R0">P0972R0</a></td><td>LWG</td><td><chrono> <tt>zero()</tt>, <tt>min()</tt>, and <tt>max()</tt> should be noexcept</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1006R1">P1006R1</a></td><td>LWG</td><td>Constexpr in std::pointer_traits</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1007R3">P1007R3</a></td><td>LWG</td><td><tt>std::assume_aligned</tt></td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1020R1">P1020R1</a></td><td>LWG</td><td>Smart pointer creation with default initialization</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1032R1">P1032R1</a></td><td>LWG</td><td>Misc constexpr bits</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1085R2">P1085R2</a></td><td>LWG</td><td>Should Span be Regular?</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1123R0">P1123R0</a></td><td>LWG</td><td>Editorial Guidance for merging P0019r8 and P0528r3</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1148R0">P1148R0</a></td><td>LWG</td><td>Cleaning up Clause 20</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1165R1">P1165R1</a></td><td>LWG</td><td>Make stateful allocator propagation more consistent for <tt>operator+(basic_string)</tt></td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1209R0">P1209R0</a></td><td>LWG</td><td>Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20</td><td>San Diego</td><td>Complete</td><td>8.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1210R0">P1210R0</a></td><td>LWG</td><td>Completing the Rebase of Library Fundamentals, Version 3, Working Draft</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1236R1">P1236R1</a></td><td>CWG</td><td>Alternative Wording for P0907R4 Signed Integers are Two's Complement</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1248R1">P1248R1</a></td><td>LWG</td><td>Remove CommonReference requirement from StrictWeakOrdering (a.k.a Fixing Relations)</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1285R0">P1285R0</a></td><td>LWG</td><td>Improving Completeness Requirements for Type Traits</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1353R0">P1353R0</a></td><td>CWG</td><td>Missing feature test macros</td><td>San Diego</td><td><i> </i></td><td></td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0339R6">P0339R6</a></td><td>LWG</td><td>polymorphic_allocator<> as a vocabulary type</td><td>Kona</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0340R3">P0340R3</a></td><td>LWG</td><td>Making std::underlying_type SFINAE-friendly</td><td>Kona</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0738R2">P0738R2</a></td><td>LWG</td><td>I Stream, You Stream, We All Stream for istream_iterator</td><td>Kona</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0811R3">P0811R3</a></td><td>LWG</td><td>Well-behaved interpolation for numbers and pointers</td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0920R2">P0920R2</a></td><td>LWG</td><td>Precalculated hash values in lookup</td><td>Kona</td><td>Reverted by <a href="https://wg21.link/P1661">P1661</a></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1001R2">P1001R2</a></td><td>LWG</td><td>Target Vectorization Policies from Parallelism V2 TS to C++20</td><td>Kona</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1024R3">P1024R3</a></td><td>LWG</td><td>Usability Enhancements for std::span</td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1164R1">P1164R1</a></td><td>LWG</td><td>Make create_directory() Intuitive</td><td>Kona</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1227R2">P1227R2</a></td><td>LWG</td><td>Signed ssize() functions, unsigned size() functions </td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1252R2">P1252R2</a></td><td>LWG</td><td>Ranges Design Cleanup</td><td>Kona</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1286R2">P1286R2</a></td><td>CWG</td><td>Contra CWG DR1778</td><td>Kona</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1357R1">P1357R1</a></td><td>LWG</td><td>Traits for [Un]bounded Arrays</td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1458R1">P1458R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 16 - Language support library</td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1459R1">P1459R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 18 - Diagnostics library</td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1462R1">P1462R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 20 - Strings library</td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1463R1">P1463R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 21 - Containers library</td><td>Kona</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1464R1">P1464R1</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 22 - Iterators library</td><td>Kona</td><td>Complete</td><td>9.0</td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0325">P0325</a></td><td>LWG</td><td>to_array from LFTS with updates</td><td>Cologne</td><td>Complete</td><td>10.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0408">P0408</a></td><td>LWG</td><td>Efficient Access to basic_stringbuf ’s Buffer</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0466">P0466</a></td><td>LWG</td><td>Layout-compatibility and Pointer-interconvertibility Traits</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0553">P0553</a></td><td>LWG</td><td>Bit operations</td><td>Cologne</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P0631">P0631</a></td><td>LWG</td><td>Math Constants</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0645">P0645</a></td><td>LWG</td><td>Text Formatting</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0660">P0660</a></td><td>LWG</td><td>Stop Token and Joining Thread, Rev 10</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0784">P0784</a></td><td>CWG</td><td>More constexpr containers</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0980">P0980</a></td><td>LWG</td><td>Making std::string constexpr</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1004">P1004</a></td><td>LWG</td><td>Making std::vector constexpr</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1035">P1035</a></td><td>LWG</td><td>Input Range Adaptors</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1065">P1065</a></td><td>LWG</td><td>Constexpr INVOKE</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1135">P1135</a></td><td>LWG</td><td>The C++20 Synchronization Library</td><td>Cologne</td><td>Complete</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1207">P1207</a></td><td>LWG</td><td>Movability of Single-pass Iterators</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1208">P1208</a></td><td>LWG</td><td>Adopt source_location for C++20</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1355">P1355</a></td><td>LWG</td><td>Exposing a narrow contract for ceil2</td><td>Cologne</td><td>Complete</td><td>9.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1361">P1361</a></td><td>LWG</td><td>Integration of chrono with text formatting</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1423">P1423</a></td><td>LWG</td><td>char8_t backward compatibility remediation</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1424">P1424</a></td><td>LWG</td><td>'constexpr' feature macro concerns</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1466">P1466</a></td><td>LWG</td><td>Miscellaneous minor fixes for chrono</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1474">P1474</a></td><td>LWG</td><td>Helpful pointers for ContiguousIterator</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1502">P1502</a></td><td>LWG</td><td>Standard library header units for C++20</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1522">P1522</a></td><td>LWG</td><td>Iterator Difference Type and Integer Overflow</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1523">P1523</a></td><td>LWG</td><td>Views and Size Types</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1612">P1612</a></td><td>LWG</td><td>Relocate Endian’s Specification</td><td>Cologne</td><td>Complete</td><td>10.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1614">P1614</a></td><td>LWG</td><td>The Mothership has Landed</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1638">P1638</a></td><td>LWG</td><td>basic_istream_view::iterator should not be copyable</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1643">P1643</a></td><td>LWG</td><td>Add wait/notify to atomic_ref</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1644">P1644</a></td><td>LWG</td><td>Add wait/notify to atomic<shared_ptr></td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1650">P1650</a></td><td>LWG</td><td>Output std::chrono::days with 'd' suffix</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1651">P1651</a></td><td>LWG</td><td>bind_front should not unwrap reference_wrapper</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1652">P1652</a></td><td>LWG</td><td>Printf corner cases in std::format</td><td>Cologne</td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1661">P1661</a></td><td>LWG</td><td>Remove dedicated precalculated hash lookup interface</td><td>Cologne</td><td><i>Nothing to do</i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1754">P1754</a></td><td>LWG</td><td>Rename concepts to standard_case for C++20, while we still can</td><td>Cologne</td><td></td><td></td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0883">P0883</a></td><td>LWG</td><td>Fixing Atomic Initialization </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1391">P1391</a></td><td>LWG</td><td>Range constructor for std::string_view </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1394">P1394</a></td><td>LWG</td><td>Range constructor for std::span </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1456">P1456</a></td><td>LWG</td><td>Move-only views </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1622">P1622</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 32 - Thread support library </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1645">P1645</a></td><td>LWG</td><td>constexpr for numeric algorithms </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1664">P1664</a></td><td>LWG</td><td>reconstructible_range - a concept for putting ranges back together </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1686">P1686</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 27 - Time library </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1690">P1690</a></td><td>LWG</td><td>Refinement Proposal for P0919 Heterogeneous lookup for unordered containers </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1716">P1716</a></td><td>LWG</td><td>ranges compare algorithm are over-constrained </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1718">P1718</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 25 - Algorithms library </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1719">P1719</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 26 - Numerics library </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1720">P1720</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 28 - Localization library </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1721">P1721</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 29 - Input/Output library </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1722">P1722</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 30 - Regular Expression library </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1723">P1723</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 31 - Atomics library </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1855">P1855</a></td><td>LWG</td><td>Make <tt><compare></tt> freestanding</td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1862">P1862</a></td><td>LWG</td><td>Ranges adaptors for non-copyable iterators </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1865">P1865</a></td><td>LWG</td><td>Add max() to latch and barrier </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1869">P1869</a></td><td>LWG</td><td>Rename 'condition_variable_any' interruptible wait methods </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1870">P1870</a></td><td>LWG</td><td>forwarding-range is too subtle </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1871">P1871</a></td><td>LWG</td><td>Should concepts be enabled or disabled? </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1872">P1872</a></td><td>LWG</td><td>span should have size_type, not index_type </td><td>Belfast</td><td>Complete</td><td>10.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1878">P1878</a></td><td>LWG</td><td>Constraining Readable Types </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1892">P1892</a></td><td>LWG</td><td>Extended locale-specific presentation specifiers for std::format </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1902">P1902</a></td><td>LWG</td><td>Missing feature-test macros 2018-2019 </td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1959">P1959</a></td><td>LWG</td><td>Remove std::weak_equality and std::strong_equality</td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1960">P1960</a></td><td>LWG</td><td>NB Comment Changes Reviewed by SG1</td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1961">P1961</a></td><td>LWG</td><td>Harmonizing the definitions of total order for pointers</td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1965">P1965</a></td><td>LWG</td><td>Blanket Wording for Specifying “Hidden Friends”</td><td>Belfast</td><td><i> </i></td><td></td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0586">P0586</a></td><td>LWG</td><td>Safe integral comparisons</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P0593">P0593</a></td><td>CWG</td><td>Implicit creation of objects for low-level object manipulation</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1115">P1115</a></td><td>LWG</td><td>Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if</td><td>Prague</td><td>Complete</td><td>11.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1243">P1243</a></td><td>LWG</td><td>Rangify New Algorithms</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1460">P1460</a></td><td>LWG</td><td>Mandating the Standard Library: Clause 20 - Utilities library</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1739">P1739</a></td><td>LWG</td><td>Avoid template bloat for safe_ranges in combination with "subrange-y" view adaptors</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1831">P1831</a></td><td>LWG</td><td>Deprecating volatile: library</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1868">P1868</a></td><td>LWG</td><td>width: clarifying units of width and precision in std::format</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1908">P1908</a></td><td>CWG</td><td>Reserving Attribute Namespaces for Future Use</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1937">P1937</a></td><td>CWG</td><td>Fixing inconsistencies between constexpr and consteval functions</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1956">P1956</a></td><td>LWG</td><td>On the names of low-level bit manipulation functions</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1957">P1957</a></td><td>CWG</td><td>Converting from T* to bool should be considered narrowing (re: US 212)</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1963">P1963</a></td><td>LWG</td><td>Fixing US 313</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1964">P1964</a></td><td>LWG</td><td>Wording for boolean-testable</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1970">P1970</a></td><td>LWG</td><td>Consistency for size() functions: Add ranges::ssize</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1973">P1973</a></td><td>LWG</td><td>Rename "_default_init" Functions, Rev1</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1976">P1976</a></td><td>LWG</td><td>Fixed-size span construction from dynamic range</td><td>Prague</td><td>Complete</td><td>11.0</td></tr>
|
||
<tr><td><a href="https://wg21.link/P1981">P1981</a></td><td>LWG</td><td>Rename leap to leap_second</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1982">P1982</a></td><td>LWG</td><td>Rename link to time_zone_link</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1983">P1983</a></td><td>LWG</td><td>Wording for GB301, US296, US292, US291, and US283</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P1994">P1994</a></td><td>LWG</td><td>elements_view needs its own sentinel</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P2002">P2002</a></td><td>CWG</td><td>Defaulted comparison specification cleanups</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P2045">P2045</a></td><td>LWG</td><td>Missing Mandates for the standard library</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P2085">P2085</a></td><td>CWG</td><td>Consistent defaulted comparisons</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P2091">P2091</a></td><td>LWG</td><td>Issues with range access CPOs</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P2101">P2101</a></td><td>LWG</td><td>'Models' subsumes 'satisfies' (Wording for US298 and US300)</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P2102">P2102</a></td><td>LWG</td><td>Make 'implicit expression variations' more explicit (Wording for US185)</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P2106">P2106</a></td><td>LWG</td><td>Alternative wording for GB315 and GB316</td><td>Prague</td><td><i> </i></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/P2116">P2116</a></td><td>LWG</td><td>Remove tuple-like protocol support from fixed-extent span</td><td>Prague</td><td>Complete</td><td>11.0</td></tr>
|
||
<!-- <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> -->
|
||
</table>
|
||
|
||
<p><i>[ Note: "Nothing to do" means that no library changes were needed to implement this change -- end note]</i></p>
|
||
|
||
<p>The missing bits in P0600 are in [mem.res.class], [mem.poly.allocator.class], and [container.node.overview]</p>
|
||
|
||
<p>The missing bits in P0202 are in <tt>copy</tt>, <tt>copy_backwards</tt>, <tt>move</tt>, and <tt>move_backwards</tt> (and the ones that call them: <tt>copy_n</tt>, <tt>rotate_copy</tt>, <tt>merge</tt>, <tt>set_union</tt>, <tt>set_difference</tt>, and <tt>set_symmetric_difference</tt>). This is because the first four algorithms have specializations that call <tt>memmove</tt> which is not constexpr. See <a href="https://bugs.llvm.org/show_bug.cgi?id=25165">Bug 25165</a></p>
|
||
|
||
|
||
<h3>Library Working group Issues Status</h3>
|
||
<!-- <I>Note: "NAD" means that the issue was deemed "Not a defect"</I> -->
|
||
<table id="issues" border="1">
|
||
<tr><th>Issue #</th><th>Issue Name</th><th>Meeting</th><th>Status</th></tr>
|
||
<!--
|
||
<tr><td><a href="https://wg21.link/LWG1214">1214</a></td><td>Insufficient/inconsistent key immutability requirements for associative containers</td><td>Urbana</td><td></td></tr>
|
||
-->
|
||
<tr><td><a href="https://wg21.link/LWG2070">2070</a></td><td><tt>allocate_shared</tt> should use <tt>allocator_traits<A>::construct</tt></td><td>Toronto</td><td>Resolved by <a href="https://wg21.link/P0674R1">P0674R1</a></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2444">2444</a></td><td>Inconsistent complexity for <tt>std::sort_heap</tt></td><td>Toronto</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2593">2593</a></td><td>Moved-from state of Allocators</td><td>Toronto</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2597">2597</a></td><td><tt>std::log</tt> misspecified for complex numbers</td><td>Toronto</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2783">2783</a></td><td><tt>stack::emplace()</tt> and <tt>queue::emplace()</tt> should return <tt>decltype(auto)</tt></td><td>Toronto</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2932">2932</a></td><td>Constraints on parallel algorithm implementations are underspecified</td><td>Toronto</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2937">2937</a></td><td>Is <tt>equivalent("existing_thing", "not_existing_thing")</tt> an error</td><td>Toronto</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2940">2940</a></td><td><tt>result_of</tt> specification also needs a little cleanup</td><td>Toronto</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2942">2942</a></td><td>LWG 2873's resolution missed <tt>weak_ptr::owner_before</tt></td><td>Toronto</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2954">2954</a></td><td>Specialization of the convenience variable templates should be prohibited</td><td>Toronto</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2961">2961</a></td><td>Bad postcondition for <tt>set_default_resource</tt></td><td>Toronto</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2966">2966</a></td><td>Incomplete resolution of US 74</td><td>Toronto</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2974">2974</a></td><td>Diagnose out of bounds <tt>tuple_element/variant_alternative</tt></td><td>Toronto</td><td>Complete</td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2779">2779</a></td><td>[networking.ts] Relax requirements on buffer sequence iterators</td><td>Albuquerque</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2870">2870</a></td><td>Default value of parameter theta of polar should be dependent</td><td>Albuquerque</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2935">2935</a></td><td>What should create_directories do when p already exists but is not a directory?</td><td>Albuquerque</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2941">2941</a></td><td>[thread.req.timing] wording should apply to both member and namespace-level functions</td><td>Albuquerque</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2944">2944</a></td><td>LWG 2905 accidentally removed requirement that construction of the deleter doesn't throw an exception</td><td>Albuquerque</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2945">2945</a></td><td>Order of template parameters in optional comparisons</td><td>Albuquerque</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2948">2948</a></td><td>unique_ptr does not define operator<< for stream output</td><td>Albuquerque</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2950">2950</a></td><td>std::byte operations are misspecified</td><td>Albuquerque</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2952">2952</a></td><td>iterator_traits should work for pointers to cv T</td><td>Albuquerque</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2953">2953</a></td><td>LWG 2853 should apply to deque::erase too</td><td>Albuquerque</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2958">2958</a></td><td>Moves improperly defined as deleted</td><td>Albuquerque</td><td><I>We already do this</I></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2964">2964</a></td><td>Apparently redundant requirement for dynamic_pointer_cast</td><td>Albuquerque</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2965">2965</a></td><td>Non-existing path::native_string() in filesystem_error::what() specification</td><td>Albuquerque</td><td>Nothing to do</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2972">2972</a></td><td>What is is_trivially_destructible_v<int>?</td><td>Albuquerque</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2976">2976</a></td><td>Dangling uses_allocator specialization for packaged_task</td><td>Albuquerque</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2977">2977</a></td><td>unordered_meow::merge() has incorrect Throws: clause</td><td>Albuquerque</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2978">2978</a></td><td>Hash support for pmr::string and friends</td><td>Albuquerque</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2979">2979</a></td><td>aligned_union should require complete object types</td><td>Albuquerque</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2980">2980</a></td><td>Cannot compare_exchange empty pointers</td><td>Albuquerque</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2981">2981</a></td><td>Remove redundant deduction guides from standard library</td><td>Albuquerque</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2982">2982</a></td><td>Making size_type consistent in associative container deduction guides</td><td>Albuquerque</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2988">2988</a></td><td>Clause 32 cleanup missed one typename</td><td>Albuquerque</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2993">2993</a></td><td>reference_wrapper<T> conversion from T&&</td><td>Albuquerque</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2998">2998</a></td><td>Requirements on function objects passed to {forward_,}list-specific algorithms</td><td>Albuquerque</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3001">3001</a></td><td>weak_ptr::element_type needs remove_extent_t</td><td>Albuquerque</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3024">3024</a></td><td>variant's copies must be deleted instead of disabled via SFINAE</td><td>Albuquerque</td><td>Complete</td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2164">2164</a></td><td>What are the semantics of <tt>vector.emplace(vector.begin(), vector.back())</tt>?</td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2243">2243</a></td><td><tt>istream::putback</tt> problem</td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2816">2816</a></td><td><tt>resize_file</tt> has impossible postcondition</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2843">2843</a></td><td>Unclear behavior of <tt>std::pmr::memory_resource::do_allocate()</tt></td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2849">2849</a></td><td>Why does <tt>!is_regular_file(from)</tt> cause <tt>copy_file</tt> to report a "file already exists" error?</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2851">2851</a></td><td><tt>std::filesystem</tt> enum classes are now underspecified</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2946">2946</a></td><td>LWG 2758's resolution missed further corrections</td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2969">2969</a></td><td><tt>polymorphic_allocator::construct()</tt> shouldn't pass <tt>resource()</tt></td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2975">2975</a></td><td>Missing case for <tt>pair</tt> construction in scoped and polymorphic allocators</td><td>Jacksonville</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2989">2989</a></td><td><tt>path</tt>'s stream insertion operator lets you insert everything under the sun</td><td>Jacksonville</td><td>Completed</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3000">3000</a></td><td><tt>monotonic_memory_resource::do_is_equal</tt> uses <tt>dynamic_cast</tt> unnecessarily</td><td>Jacksonville</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3002">3002</a></td><td>[networking.ts] <tt>basic_socket_acceptor::is_open()</tt> isn't <tt>noexcept</tt></td><td>Jacksonville</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3004">3004</a></td><td>§[string.capacity] and §[vector.capacity] should specify time complexity for <tt>capacity()</tt></td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3005">3005</a></td><td>Destruction order of arrays by <tt>make_shared/allocate_shared</tt> only recommended?</td><td>Jacksonville</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3007">3007</a></td><td><tt>allocate_shared</tt> should rebind allocator to <i>cv</i>-unqualified <tt>value_type</tt> for construction</td><td>Jacksonville</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3009">3009</a></td><td>Including <tt><string_view></tt> doesn't provide <tt>std::size/empty/data</tt></td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3010">3010</a></td><td>[networking.ts] <tt>uses_executor</tt> says "if a type <tt>T::executor_type</tt> exists"</td><td>Jacksonville</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3013">3013</a></td><td><tt>(recursive_)directory_iterator</tt> construction and traversal should not be <tt>noexcept</tt></td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3014">3014</a></td><td>More <tt>noexcept</tt> issues with filesystem operations</td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3015">3015</a></td><td><tt>copy_options::<i>unspecified</i></tt> underspecified</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3017">3017</a></td><td><tt>list splice</tt> functions should use <tt>addressof</tt></td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3020">3020</a></td><td>[networking.ts] Remove spurious nested <tt>value_type</tt> buffer sequence requirement</td><td>Jacksonville</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3026">3026</a></td><td><tt>filesystem::weakly_canonical</tt> still defined in terms of <tt>canonical(p, base)</tt></td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3030">3030</a></td><td>Who shall meet the requirements of <tt>try_lock</tt>?</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3034">3034</a></td><td>P0767R1 breaks previously-standard-layout types</td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3035">3035</a></td><td><tt>std::allocator</tt>'s constructors should be <tt>constexpr</tt></td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3039">3039</a></td><td>Unnecessary <tt>decay</tt> in <tt>thread</tt> and <tt>packaged_task</tt></td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3041">3041</a></td><td>Unnecessary <tt>decay</tt> in <tt>reference_wrapper</tt></td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3042">3042</a></td><td><tt>is_literal_type_v</tt> should be inline</td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3043">3043</a></td><td>Bogus postcondition for <tt>filesystem_error</tt> constructor</td><td>Jacksonville</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3045">3045</a></td><td><tt>atomic<<i>floating-point</i>></tt> doesn't have <tt>value_type</tt> or <tt>difference_type</tt></td><td>Jacksonville</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3048">3048</a></td><td><tt>transform_reduce(exec, first1, last1, first2, init)</tt> discards execution policy</td><td>Jacksonville</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3051">3051</a></td><td>Floating point classifications were inadvertently changed in P0175</td><td>Jacksonville</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3075">3075</a></td><td><tt>basic_string</tt> needs deduction guides from <tt>basic_string_view</tt></td><td>Jacksonville</td><td>Complete</td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2139">2139</a></td><td>What is a user-defined type?</td><td>Rapperswil</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2970">2970</a></td><td>Return type of std::visit misspecified</td><td>Rapperswil</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3058">3058</a></td><td>Parallel adjacent_difference shouldn't require creating temporaries</td><td>Rapperswil</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3062">3062</a></td><td>Unnecessary decay_t in is_execution_policy_v should be remove_cvref_t</td><td>Rapperswil</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3067">3067</a></td><td>recursive_directory_iterator::pop must invalidate</td><td>Rapperswil</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3071">3071</a></td><td>[networking.ts] read_until still refers to "input sequence"</td><td>Rapperswil</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3074">3074</a></td><td>Non-member functions for valarray should only deduce from the valarray</td><td>Rapperswil</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3076">3076</a></td><td>basic_string CTAD ambiguity</td><td>Rapperswil</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3079">3079</a></td><td>LWG 2935 forgot to fix the existing_p overloads of create_directory</td><td>Rapperswil</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3080">3080</a></td><td>Floating point from_chars pattern specification breaks round-tripping</td><td>Rapperswil</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3083">3083</a></td><td>What should ios::iword(-1) do?</td><td>Rapperswil</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3094">3094</a></td><td>[time.duration.io]p4 makes surprising claims about encoding</td><td>Rapperswil</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3100">3100</a></td><td>Unnecessary and confusing "empty span" wording</td><td>Rapperswil</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3102">3102</a></td><td>Clarify span iterator and const_iterator behavior</td><td>Rapperswil</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3104">3104</a></td><td>Fixing duration division</td><td>Rapperswil</td><td>Complete</td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2183">2183</a></td><td>Muddled allocator requirements for <tt>match_results</tt> constructors</td><td>San Diego</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2184">2184</a></td><td>Muddled allocator requirements for <tt>match_results</tt> assignments</td><td>San Diego</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2412">2412</a></td><td><tt>promise::set_value()</tt> and <tt>promise::get_future()</tt> should not race</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2499">2499</a></td><td><tt>operator>>(basic_istream&, CharT*)</tt> makes it hard to avoid buffer overflows</td><td>San Diego</td><td>Resolved by P0487R1</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2682">2682</a></td><td><code>filesystem::copy()</code> won't create a symlink to a directory</td><td>San Diego</td><td>Nothing to do</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2697">2697</a></td><td>[concurr.ts] Behavior of <tt>future/shared_future</tt> unwrapping constructor when given an invalid <tt>future</tt></td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2797">2797</a></td><td>Trait precondition violations</td><td>San Diego</td><td>Resolved by 1285R0</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2936">2936</a></td><td>Path comparison is defined in terms of the generic format</td><td>San Diego</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2943">2943</a></td><td>Problematic specification of the wide version of <tt>basic_filebuf::open</tt></td><td>San Diego</td><td>Nothing to do</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2960">2960</a></td><td>[fund.ts.v3] <tt>nonesuch</tt> is insufficiently useless</td><td>San Diego</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2995">2995</a></td><td><tt>basic_stringbuf</tt> default constructor forbids it from using SSO capacity</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2996">2996</a></td><td>Missing rvalue overloads for <tt>shared_ptr</tt> operations</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3008">3008</a></td><td><tt>make_shared</tt> (sub)object destruction semantics are not specified</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3022">3022</a></td><td><tt>is_convertible<derived*, base*></tt> may lead to ODR</td><td>San Diego</td><td>Resolved by 1285R0</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3025">3025</a></td><td>Map-like container deduction guides should use <tt>pair<Key, T></tt>, not <tt>pair<const Key, T></tt></td><td>San Diego</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3031">3031</a></td><td>Algorithms and predicates with non-const reference arguments</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3037">3037</a></td><td><tt>polymorphic_allocator</tt> and incomplete types</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3038">3038</a></td><td><tt>polymorphic_allocator::allocate</tt> should not allow integer overflow to create vulnerabilities</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3054">3054</a></td><td><tt>uninitialized_copy</tt> appears to not be able to meet its exception-safety guarantee</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3065">3065</a></td><td>LWG 2989 missed that all <tt>path</tt>'s other operators should be hidden friends as well</td><td>San Diego</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3096">3096</a></td><td><tt>path::lexically_relative</tt> is confused by trailing slashes</td><td>San Diego</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3116">3116</a></td><td><tt><i>OUTERMOST_ALLOC_TRAITS</i></tt> needs <tt>remove_reference_t</tt></td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3122">3122</a></td><td><tt>__cpp_lib_chrono_udls</tt> was accidentally dropped</td><td>San Diego</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3127">3127</a></td><td><tt>basic_osyncstream::rdbuf</tt> needs a <tt>const_cast</tt></td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3128">3128</a></td><td><tt>strstream::rdbuf</tt> needs a <tt>const_cast</tt></td><td>San Diego</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3129">3129</a></td><td><tt>regex_token_iterator</tt> constructor uses wrong pointer arithmetic</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3130">3130</a></td><td>§[input.output] needs many <tt>addressof</tt></td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3131">3131</a></td><td><tt>addressof</tt> all the things</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3132">3132</a></td><td>Library needs to ban macros named <tt>expects</tt> or <tt>ensures</tt></td><td>San Diego</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3134">3134</a></td><td>[fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961</td><td>San Diego</td><td>Resolved by P1210R0</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3137">3137</a></td><td>Header for <tt>__cpp_lib_to_chars</tt></td><td>San Diego</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3145">3145</a></td><td><tt>file_clock</tt> breaks ABI for C++17 implementations</td><td>San Diego</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3147">3147</a></td><td>Definitions of "likely" and "unlikely" are likely to cause problems</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3148">3148</a></td><td><tt><concepts></tt> should be freestanding</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3153">3153</a></td><td><tt>Common</tt> and <tt>common_type</tt> have too little in common</td><td>San Diego</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3154">3154</a></td><td><tt>Common</tt> and <tt>CommonReference</tt> have a common defect</td><td>San Diego</td><td></td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3012">3012</a></td><td><tt>atomic<T></tt> is unimplementable for non-<tt>is_trivially_copy_constructible T</tt></td><td>Kona</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3040">3040</a></td><td><tt>basic_string_view::starts_with</tt> <i>Effects</i> are incorrect</td><td>Kona</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3077">3077</a></td><td><tt>(push|emplace)_back</tt> should invalidate the <tt>end</tt> iterator</td><td>Kona</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3087">3087</a></td><td>One final <tt>&x</tt> in §[list.ops]</td><td>Kona</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3101">3101</a></td><td><tt>span</tt>'s <tt>Container</tt> constructors need another constraint</td><td>Kona</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3112">3112</a></td><td><tt>system_error</tt> and <tt>filesystem_error</tt> constructors taking a <tt>string</tt> may not be able to meet their postconditions</td><td>Kona</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3119">3119</a></td><td>Program-definedness of closure types</td><td>Kona</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3133">3133</a></td><td>Modernizing numeric type requirements</td><td>Kona</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3144">3144</a></td><td><tt>span</tt> does not have a <tt>const_pointer</tt> typedef</td><td>Kona</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3173">3173</a></td><td>Enable CTAD for <i><tt>ref-view</tt></i></td><td>Kona</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3179">3179</a></td><td><tt>subrange</tt> should always model <tt>Range</tt></td><td>Kona</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3180">3180</a></td><td>Inconsistently named return type for <tt>ranges::minmax_element</tt></td><td>Kona</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3182">3182</a></td><td>Specification of <tt>Same</tt> could be clearer</td><td>Kona</td><td></td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2899">2899</a></td><td><tt>is_(nothrow_)move_constructible</tt> and <tt>tuple</tt>, <tt>optional</tt> and <tt>unique_ptr</tt></td><td>Cologne</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3055">3055</a></td><td><tt>path::operator+=(<i>single-character</i>)</tt> misspecified</td><td>Cologne</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3158">3158</a></td><td><tt>tuple(allocator_arg_t, const Alloc&)</tt> should be conditionally explicit</td><td>Cologne</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3169">3169</a></td><td><tt>ranges</tt> permutation generators discard useful information</td><td>Cologne</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3183">3183</a></td><td>Normative permission to specialize Ranges variable templates</td><td>Cologne</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3184">3184</a></td><td>Inconsistencies in <tt>bind_front</tt> wording</td><td>Cologne</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3185">3185</a></td><td>Uses-allocator construction functions missing <tt>constexpr</tt> and <tt>noexcept</tt></td><td>Cologne</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3186">3186</a></td><td><tt>ranges</tt> removal, partition, and <tt>partial_sort_copy</tt> algorithms discard useful information</td><td>Cologne</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3187">3187</a></td><td><a href="https://wg21.link/p0591r4">P0591R4</a> reverted DR 2586 fixes to <tt>scoped_allocator_adaptor::construct()</tt></td><td>Cologne</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3191">3191</a></td><td><tt>std::ranges::shuffle</tt> synopsis does not match algorithm definition</td><td>Cologne</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3196">3196</a></td><td><tt>std::optional<T></tt> is ill-formed is <tt>T</tt> is an array</td><td>Cologne</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3198">3198</a></td><td>Bad constraint on <tt>std::span::span()</tt></td><td>Cologne</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3199">3199</a></td><td><tt>istream >> bitset<0></tt> fails</td><td>Cologne</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3202">3202</a></td><td>P0318R1 was supposed to be revised</td><td>Cologne</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3206">3206</a></td><td><tt>year_month_day</tt> conversion to <tt>sys_days</tt> uses not-existing member function</td><td>Cologne</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3208">3208</a></td><td><tt>Boolean</tt>'s expression requirements are ordered inconsistently</td><td>Cologne</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3209">3209</a></td><td>Expression in <tt>year::ok()</tt> returns clause is ill-formed</td><td>Cologne</td><td>Complete</td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3231">3231</a></td><td><tt>year_month_day_last::day</tt> specification does not cover <tt>!ok()</tt> values</td><td>Belfast</td><td><i>Nothing to do</i></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3225">3225</a></td><td><tt>zoned_time</tt> converting constructor shall not be <tt>noexcept</tt></td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3190">3190</a></td><td><tt>std::allocator::allocate</tt> sometimes returns too little storage</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3218">3218</a></td><td>Modifier for <tt>%d</tt> parse flag does not match POSIX and <tt>format</tt> specification</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3224">3224</a></td><td><tt>zoned_time</tt> constructor from <tt>TimeZonePtr</tt> does not specify initialization of <tt>tp_</tt></td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3230">3230</a></td><td>Format specifier <tt>%y/%Y</tt> is missing locale alternative versions</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3232">3232</a></td><td>Inconsistency in <tt>zoned_time</tt> deduction guides</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3222">3222</a></td><td>P0574R1 introduced preconditions on non-existent parameters</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3221">3221</a></td><td>Result of <tt>year_month</tt> arithmetic with <tt>months</tt> is ambiguous</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3235">3235</a></td><td><code>parse</code> manipulator without abbreviation is not callable</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3246">3246</a></td><td>What are the constraints on the template parameter of <tt>basic_format_arg</tt>?</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3253">3253</a></td><td><tt>basic_syncbuf::basic_syncbuf()</tt> should not be explicit</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3245">3245</a></td><td>Unnecessary restriction on <tt>'%p'</tt> parse specifier</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3244">3244</a></td><td>Constraints for <tt>Source</tt> in §[fs.path.req] insufficiently constrainty</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3241">3241</a></td><td><tt>chrono-spec</tt> grammar ambiguity in §[time.format]</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3257">3257</a></td><td>Missing feature testing macro update from P0858</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3256">3256</a></td><td>Feature testing macro for <tt>constexpr</tt> algorithms</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3273">3273</a></td><td>Specify <tt>weekday_indexed</tt> to range of <tt>[0, 7]</tt></td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3070">3070</a></td><td><tt>path::lexically_relative</tt> causes surprising results if a filename can also be a <i>root-name</i></td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3266">3266</a></td><td><tt>to_chars(bool)</tt> should be deleted</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3272">3272</a></td><td><tt>%I%p</tt> should parse/format <tt>duration</tt> since midnight</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3259">3259</a></td><td>The definition of <i>constexpr iterators</i> should be adjusted</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3103">3103</a></td><td>Errors in taking subview of <tt>span</tt> should be ill-formed where possible</td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3274">3274</a></td><td>Missing feature test macro for <tt><span></tt></td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3276">3276</a></td><td>Class <tt>split_view::outer_iterator::value_type</tt> should inherit from <tt>view_interface</tt></td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3277">3277</a></td><td>Pre-increment on prvalues is not a requirement of <tt>weakly_incrementable</tt></td><td>Belfast</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3149">3149</a></td><td><tt>DefaultConstructible</tt> should require default initialization</td><td>Belfast</td><td></td></tr>
|
||
|
||
<tr><td></td><td></td><td></td><td></td></tr> -->
|
||
<tr><td><a href="https://wg21.link/LWG1203">1203</a></td><td>More useful rvalue stream insertion</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG2859">2859</a></td><td>Definition of <em>reachable</em> in [ptr.launder] misses pointer arithmetic from pointer-interconvertible object</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3018">3018</a></td><td><tt>shared_ptr</tt> of function type</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3050">3050</a></td><td>Conversion specification problem in <tt>chrono::duration</tt> constructor</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3141">3141</a></td><td><tt>CopyConstructible</tt> doesn't preserve source values</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3150">3150</a></td><td><tt>UniformRandomBitGenerator</tt> should validate <tt>min</tt> and <tt>max</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3175">3175</a></td><td>The <tt>CommonReference</tt> requirement of concept <tt>SwappableWith</tt> is not satisfied in the example</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3194">3194</a></td><td><tt>ConvertibleTo</tt> prose does not match code</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3200">3200</a></td><td><tt>midpoint</tt> should not constrain <tt>T</tt> is complete</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3201">3201</a></td><td><tt>lerp</tt> should be marked as <tt>noexcept</tt></td><td>Prague</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3226">3226</a></td><td><tt>zoned_time</tt> constructor from <tt>string_view</tt> should accept <tt>zoned_time<Duration2, TimeZonePtr2></tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3233">3233</a></td><td>Broken requirements for <tt>shared_ptr</tt> converting constructors</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3237">3237</a></td><td>LWG 3038 and 3190 have inconsistent PRs</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3238">3238</a></td><td>Insufficiently-defined behavior of <tt>std::function</tt> deduction guides</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3242">3242</a></td><td><tt>std::format</tt>: missing rules for <tt>arg-id</tt> in <tt>width</tt> and <tt>precision</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3243">3243</a></td><td><tt>std::format</tt> and negative zeroes</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3247">3247</a></td><td><tt>ranges::iter_move</tt> should perform ADL-only lookup of <tt>iter_move</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3248">3248</a></td><td><tt>std::format</tt> <tt>#b</tt>, <tt>#B</tt>, <tt>#o</tt>, <tt>#x</tt>, and <tt>#X</tt> presentation types misformat negative numbers</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3250">3250</a></td><td><tt>std::format</tt>: <tt>#</tt> (alternate form) for NaN and inf</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3251">3251</a></td><td>Are <tt>std::format</tt> alignment specifiers applied to string arguments?</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3252">3252</a></td><td>Parse locale's aware modifiers for commands are not consistent with POSIX spec</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3254">3254</a></td><td>Strike <tt>stop_token</tt>'s <tt>operator!=</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3255">3255</a></td><td><tt>span</tt>'s <tt>array</tt> constructor is too strict</td><td>Prague</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3260">3260</a></td><td><tt>year_month*</tt> arithmetic rejects durations convertible to years</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3262">3262</a></td><td>Formatting of negative durations is not specified</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3264">3264</a></td><td><tt>sized_range</tt> and <tt>ranges::size</tt> redundantly use <tt>disable_sized_range</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3269">3269</a></td><td>Parse manipulators do not specify the result of the extraction from stream</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3270">3270</a></td><td>Parsing and formatting <tt>%j</tt> with <tt>duration</tt>s</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3280">3280</a></td><td>View converting constructors can cause constraint recursion and are unneeded</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3281">3281</a></td><td>Conversion from <tt><i>pair-like</i></tt> types to <tt>subrange</tt> is a silent semantic promotion</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3282">3282</a></td><td><tt>subrange</tt> converting constructor should disallow derived to base conversions</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3284">3284</a></td><td><tt>random_access_iterator</tt> semantic constraints accidentally promote difference type using unary negate</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3285">3285</a></td><td>The type of a customization point object shall satisfy <tt>semiregular</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3286">3286</a></td><td><tt>ranges::size</tt> is not required to be valid after a call to <tt>ranges::begin</tt> on an input range</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3291">3291</a></td><td><tt>iota_view::iterator</tt> has the wrong <tt>iterator_category</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3292">3292</a></td><td><tt>iota_view</tt> is under-constrained</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3294">3294</a></td><td><tt>zoned_time</tt> deduction guides misinterprets <tt>string</tt>/<tt>char*</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3296">3296</a></td><td>Inconsistent default argument for <tt>basic_regex<>::assign</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3299">3299</a></td><td>Pointers don't need customized iterator behavior</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3300">3300</a></td><td>Non-array <tt>ssize</tt> overload is underconstrained</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3301">3301</a></td><td><tt>transform_view::iterator</tt> has incorrect <tt>iterator_category</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3302">3302</a></td><td>Range adaptor objects <tt>keys</tt> and <tt>values</tt> are unspecified</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3303">3303</a></td><td>Bad "<tt>constexpr</tt>" marker for <tt>destroy/destroy_n</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3304">3304</a></td><td>Allocate functions of <tt>std::polymorphic_allocator</tt> should require <tt>[[nodiscard]]</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3307">3307</a></td><td><tt>std::allocator<void>().allocate(n)</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3310">3310</a></td><td>Replace <tt>SIZE_MAX</tt> with <tt>numeric_limits<size_t>::max()</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3313">3313</a></td><td><tt>join_view::iterator::operator--</tt> is incorrectly constrained</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3314">3314</a></td><td>Is stream insertion behavior locale dependent when <tt>Period::type</tt> is <tt>micro</tt>?</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3315">3315</a></td><td>Correct Allocator Default Behavior</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3316">3316</a></td><td>Correctly define epoch for <tt>utc_clock</tt> / <tt>utc_timepoint</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3317">3317</a></td><td>Incorrect <tt>operator<<</tt> for floating-point durations</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3318">3318</a></td><td>Clarify whether clocks can represent time before their epoch</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3319">3319</a></td><td>Properly reference specification of IANA time zone database</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3320">3320</a></td><td><tt>span::cbegin/cend</tt> methods produce different results than <tt>std::[ranges::]cbegin/cend</tt></td><td>Prague</td><td>Complete</td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3321">3321</a></td><td><tt>uninitialized_construct_using_allocator</tt> should use <tt>construct_at</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3323">3323</a></td><td><tt><i>has-tuple-element</i></tt> helper concept needs <tt>convertible_to</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3324">3324</a></td><td>Special-case <tt>std::strong/weak/partial_order</tt> for pointers</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3325">3325</a></td><td>Constrain return type of transformation function for <tt>transform_view</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3326">3326</a></td><td><tt>enable_view</tt> has false positives</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3327">3327</a></td><td>Format alignment specifiers vs. text direction</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3328">3328</a></td><td>Clarify that <tt>std::string</tt> is not good for UTF-8</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3329">3329</a></td><td><tt>totally_ordered_with</tt> both directly and indirectly requires <tt>common_reference_with</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3330">3330</a></td><td>Include <tt><compare></tt> from most library headers</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3331">3331</a></td><td>Define <tt>totally_ordered/_with</tt> in terms of <tt><i>partially-ordered-with</i></tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3332">3332</a></td><td>Issue in §[time.format]</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3334">3334</a></td><td><tt>basic_osyncstream</tt> move assignment and destruction calls <tt>basic_syncbuf::emit()</tt> twice</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3335">3335</a></td><td>Resolve C++20 NB comments US 273 and GB 274</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3338">3338</a></td><td>Rename <tt>default_constructible</tt> to <tt>default_initializable</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3340">3340</a></td><td>Formatting functions should throw on argument/format string mismatch in §[format.functions]</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3346">3346</a></td><td><tt>pair</tt> and <tt>tuple</tt> copy and move constructor have backwards specification</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3347">3347</a></td><td><tt>std::pair<T, U></tt> now requires <tt>T</tt> and <tt>U</tt> to be less-than-comparable</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3348">3348</a></td><td><tt>__cpp_lib_unwrap_ref</tt> in wrong header</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3349">3349</a></td><td>Missing <tt>__cpp_lib_constexpr_complex</tt> for P0415R1</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3350">3350</a></td><td>Simplify return type of <tt>lexicographical_compare_three_way</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3351">3351</a></td><td><tt>ranges::enable_safe_range</tt> should not be constrained</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3352">3352</a></td><td><tt>strong_equality</tt> isn't a thing</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3354">3354</a></td><td><tt>has_strong_structural_equality</tt> has a meaningless definition</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3355">3355</a></td><td>The memory algorithms should support move-only input iterators introduced by P1207</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3356">3356</a></td><td><tt>__cpp_lib_nothrow_convertible</tt> should be <tt>__cpp_lib_<em>is_</em>nothrow_convertible</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3358">3358</a></td><td>§[span.cons] is mistaken that <tt>to_address</tt> can throw</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3359">3359</a></td><td><tt><chrono></tt> leap second support should allow for negative leap seconds</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3360">3360</a></td><td><tt>three_way_comparable_with</tt> is inconsistent with similar concepts</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3362">3362</a></td><td>Strike <tt>stop_source</tt>'s <tt>operator!=</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3363">3363</a></td><td><tt>drop_while_view</tt> should opt-out of <tt>sized_range</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3364">3364</a></td><td>Initialize data members of ranges and their iterators</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3367">3367</a></td><td>Integer-class conversions should not throw</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3369">3369</a></td><td><tt>span</tt>'s deduction-guide for built-in arrays doesn't work</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3371">3371</a></td><td><tt>visit_format_arg</tt> and <tt>make_format_args</tt> are not hidden friends</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3372">3372</a></td><td><tt>vformat_to</tt> should not try to deduce <tt>Out</tt> twice</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3373">3373</a></td><td><tt>{to,from}_chars_result</tt> and <tt>format_to_n_result</tt> need the "we really mean what we say" wording</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3374">3374</a></td><td>P0653 + P1006 should have made the other <tt>std::to_address</tt> overload <tt>constexpr</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3375">3375</a></td><td><tt>decay</tt> in <tt>viewable_range</tt> should be <tt>remove_cvref</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3377">3377</a></td><td><tt>elements_view::iterator</tt> befriends a specialization of itself</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3379">3379</a></td><td>"<tt>safe</tt>" in several library names is misleading</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3380">3380</a></td><td><tt>common_type</tt> and comparison categories</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3381">3381</a></td><td><tt>begin</tt> and <tt>data</tt> must agree for <tt>contiguous_range</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3382">3382</a></td><td>NTTP for <tt>pair</tt> and <tt>array</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3383">3383</a></td><td>§[time.zone.leap.nonmembers] <tt>sys_seconds</tt> should be replaced with <tt>seconds</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3384">3384</a></td><td><tt>transform_view::<i>sentinel</i></tt> has an incorrect <tt>operator-</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3385">3385</a></td><td><tt>common_iterator</tt> is not sufficiently constrained for non-copyable iterators</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3387">3387</a></td><td>§[range.reverse.view] <tt>reverse_view<V></tt> unintentionally requires <tt>range<const V></tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3388">3388</a></td><td><tt>view</tt> iterator types have ill-formed <tt><=></tt> operators</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3389">3389</a></td><td>A move-only iterator still does not have a <tt>counted_iterator</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3390">3390</a></td><td><tt>make_move_iterator()</tt> cannot be used to construct a <tt>move_iterator</tt> for a move-only iterator</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3393">3393</a></td><td>Missing/incorrect feature test macro for coroutines</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3395">3395</a></td><td>Definition for three-way comparison needs to be updated (US 152)</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3396">3396</a></td><td>Clarify point of reference for <tt>source_location::current()</tt> (DE 169)</td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3397">3397</a></td><td><tt>ranges::basic_istream_view::iterator</tt> should not provide <tt>iterator_category</tt></td><td>Prague</td><td></td></tr>
|
||
<tr><td><a href="https://wg21.link/LWG3398">3398</a></td><td><tt>tuple_element_t</tt> is also wrong for <tt>const subrange</tt></td><td>Prague</td><td></td></tr>
|
||
<!-- <tr><td></td><td></td><td></td><td></td></tr> -->
|
||
</table>
|
||
|
||
<p>Last Updated: 16-Feb-2020</p>
|
||
</div>
|
||
</body>
|
||
</html>
|