Fix timevar.cc build on systems that don't have CLOCK_MONOTONIC
[gcc.git] / libstdc++-v3 / doc / xml / manual / status_cxx2023.xml
blob3c33a3596f66024e4ec0b2423bca02a353895984
1 <section xmlns="http://docbook.org/ns/docbook" version="5.0"
2    xml:id="status.iso.2023" xreflabel="Status C++ 2023">
3 <?dbhtml filename="status_iso_cxx2023.html"?>
5 <info><title>C++ 2023</title>
6   <keywordset>
7     <keyword>ISO C++</keyword>
8     <keyword>2023</keyword>
9   </keywordset>
10 </info>
12 <para>
13 In this implementation the <literal>-std=gnu++23</literal> or
14 <literal>-std=c++23</literal> flag must be used to enable language
15 and library
16 features. See <link linkend="manual.intro.using.flags">dialect</link>
17 options. The pre-defined symbol
18 <constant>__cplusplus</constant> is used to check for the
19 presence of the required flag.
20 </para>
22 <para>
23 This section describes the C++23 and library TS support in
24 mainline GCC, not in any particular release.
25 </para>
27 <para>
28 The following table lists new library features that have been accepted into
29 the C++23 working draft. The "Proposal" column provides a link to the
30 ISO C++ committee proposal that describes the feature, while the "Status"
31 column indicates the first version of GCC that contains an implementation of
32 this feature (if it has been implemented).
33 A dash (&#x2014;) in the status column indicates that the changes in the proposal
34 either do not affect the code in libstdc++, or the changes are not required for conformance.
35 The "SD-6 Feature Test / Notes" column shows the corresponding macro or header from
36 <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations">SD-6:
37 Feature-testing recommendations for C++</link> (where applicable)
38 or any notes about the implementation.
39 </para>
41 <table frame="all" xml:id="table.cxx23_features">
42 <title>C++ 2023 Library Features</title>
44 <tgroup cols="4" align="left" colsep="0" rowsep="1">
45 <colspec colname="c1"/>
46 <colspec colname="c2"/>
47 <colspec colname="c3"/>
48 <colspec colname="c4"/>
49   <thead>
50     <row>
51       <entry>Library Feature</entry>
52       <entry>Proposal</entry>
53       <entry>Status</entry>
54       <entry>SD-6 Feature Test / Notes</entry>
55     </row>
56   </thead>
58   <tbody>
60     <row>
61       <entry namest="c1" nameend="c4" align="left">
62         <emphasis role="bold">Ranges and Views</emphasis>
63       </entry>
64     </row>
66     <row>
67       <entry> Range constructor for std::string_view </entry>
68       <entry>
69         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1989r2.pdf">
70         P1989R2
71         </link>
72       </entry>
73       <entry align="center"> 11.1 </entry>
74       <entry />
75     </row>
77     <row>
78       <entry> <code>join_view</code> should join all views of ranges </entry>
79       <entry>
80         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2328r1.html">
81         P2328R1
82         </link>
83       </entry>
84       <entry align="center"> 11.2 </entry>
85       <entry />
86     </row>
89     <row>
90       <entry> Clarifying range adaptor objects </entry>
91       <entry>
92         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2281r1.html">
93         P2281R1
94         </link>
95       </entry>
96       <entry align="center"> 11.1 </entry>
97       <entry />
98     </row>
100     <row>
101       <entry> Views should not be required to be default constructible </entry>
102       <entry>
103         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2325r3.html">
104         P2325R3
105         </link>
106       </entry>
107       <entry align="center"> 11.3 </entry>
108       <entry> <code>__cpp_lib_ranges &gt;= 202106L</code> </entry>
109     </row>
111     <row>
112       <entry> Conditionally borrowed ranges </entry>
113       <entry>
114         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2017r1.html">
115         P2017R1
116         </link>
117       </entry>
118       <entry align="center"> 11.1 </entry>
119       <entry />
120     </row>
122     <row>
123       <entry> Require <code>span</code> &amp; <code>basic_string_view</code> to be Trivially Copyable </entry>
124       <entry>
125         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2251r1.pdf">
126         P2251R1
127         </link>
128       </entry>
129       <entry align="center"> Yes </entry>
130       <entry />
131     </row>
133     <row>
134       <entry> Repairing input range adaptors and counted_iterator </entry>
135       <entry>
136         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2259r1.html">
137         P2259R1
138         </link>
139       </entry>
140       <entry align="center"> 12.1 </entry>
141       <entry />
142     </row>
144     <row>
145       <entry> Superior String Splitting </entry>
146       <entry>
147         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2210r2.html">
148         P2210R2
149         </link>
150       </entry>
151       <entry align="center"> 12.1 </entry>
152       <entry />
153     </row>
155     <row>
156       <entry> What is a <code>view</code>? </entry>
157       <entry>
158         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.html">
159         P2415R2
160         </link>
161       </entry>
162       <entry align="center"> 12.1 </entry>
163       <entry> <code>__cpp_lib_ranges &gt;= 202110L</code> </entry>
164     </row>
166     <row>
167       <entry> Fix istream_view </entry>
168       <entry>
169         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2432r1.pdf">
170         P2432R1
171         </link>
172       </entry>
173       <entry align="center"> 12.1 </entry>
174       <entry />
175     </row>
177     <row>
178       <?dbhtml bgcolor="#C8B0B0" ?>
179       <entry> <code>starts_with</code> and <code>ends_with</code> </entry>
180       <entry>
181         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1659r3.html">
182         P1659R3
183         </link>
184       </entry>
185       <entry align="center"> </entry>
186       <entry> <code>__cpp_lib_ranges_starts_ends_with &gt;= 202106L</code> </entry>
187     </row>
189     <row>
190       <entry> <code>zip</code> </entry>
191       <entry>
192         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2321r2.html">
193         P2321R2
194         </link>
195       </entry>
196       <entry align="center"> 13.1 </entry>
197       <entry> <code>__cpp_lib_ranges_zip &gt;= 202110L</code> </entry>
198     </row>
200     <row>
201       <entry> <code>views::repeat</code> </entry>
202       <entry>
203         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2474r2.html">
204         P2474R2
205         </link>
206       </entry>
207       <entry align="center"> 13.1 </entry>
208       <entry> <code>__cpp_lib_ranges_repeat &gt;= 202207L</code> </entry>
209     </row>
211     <row>
212       <entry> <code>views::enumerate</code> </entry>
213       <entry>
214         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2164r9.pdf">
215         P2164R9
216         </link>
217       </entry>
218       <entry align="center"> 13.1 </entry>
219       <entry> <code>__cpp_lib_ranges_enumerate &gt;= 202302L</code> </entry>
220     </row>
222     <row>
223       <entry> <code>views::join_with</code> </entry>
224       <entry>
225         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2441r2.html">
226         P2441R2
227         </link>
228       </entry>
229       <entry align="center"> 13.1 </entry>
230       <entry> <code>__cpp_lib_ranges_join_with &gt;= 202202L</code> </entry>
231     </row>
233     <row>
234       <entry>
235         Windowing range adaptors: <code>views::chunk</code>
236         and <code>views::slide</code> </entry>
237       <entry>
238         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2442r1.html">
239         P2442R1
240         </link>
241       </entry>
242       <entry align="center"> 13.1 </entry>
243       <entry> <code>__cpp_lib_ranges_slide &gt;= 202202L</code> </entry>
244     </row>
246     <row>
247       <entry> <code>views::chunk_by</code> </entry>
248       <entry>
249         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2443r1.html">
250         P2443R1
251         </link>
252       </entry>
253       <entry align="center"> 13.1 </entry>
254       <entry> <code>__cpp_lib_ranges_chunk_by &gt;= 202202L</code> </entry>
255     </row>
257     <row>
258       <entry> <code>views::stride</code> </entry>
259       <entry>
260         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1899r3.html">
261         P1899R3
262         </link>
263       </entry>
264       <entry align="center"> 13.1 </entry>
265       <entry> <code>__cpp_lib_ranges_stride &gt;= 202207L</code> </entry>
266     </row>
268     <row>
269       <entry> <code>views::cartesian_product</code> </entry>
270       <entry>
271         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2374r4.html">
272         P2374R4
273         </link>
274       </entry>
275       <entry align="center"> 13.1 </entry>
276       <entry> <code>__cpp_lib_ranges_cartesian_product &gt;= 202207L</code> </entry>
277     </row>
279     <row>
280       <entry> Empty Product for certain Views </entry>
281       <entry>
282         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2540r1.html">
283         P2540R1
284         </link>
285       </entry>
286       <entry align="center"> 13.1 </entry>
287       <entry> <code>__cpp_lib_ranges_cartesian_product &gt;= 202207L</code> </entry>
288     </row>
290     <row>
291       <entry> <code>views::as_rvalue</code> </entry>
292       <entry>
293         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2446r2.html">
294         P2446R2
295         </link>
296       </entry>
297       <entry align="center"> 13.1 </entry>
298       <entry> <code>__cpp_lib_ranges_as_rvalue &gt;= 202207L</code> </entry>
299     </row>
301     <row>
302       <entry>
303         <code>cbegin</code> should always return a constant iterator
304       </entry>
305       <entry>
306         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2278r4.html">
307         P2278R4
308         </link>
309       </entry>
310       <entry align="center"> 13.1 </entry>
311       <entry> <code>__cpp_lib_ranges_as_const &gt;= 202207L</code> </entry>
312     </row>
314     <row>
315       <?dbhtml bgcolor="#B0B0B0" ?>
316       <entry> <code>ranges::to</code> </entry>
317       <entry>
318         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1206r7.pdf">
319         P1206R7
320         </link>
321       </entry>
322       <entry align="center"> 14.1 (<code>ranges::to</code> function) </entry>
323       <entry>
324         <code>__cpp_lib_containers_ranges &gt;= 202202L</code>,
325         <code>__cpp_lib_ranges_to_container &gt;= 202202L</code>
326       </entry>
327     </row>
329     <row>
330       <?dbhtml bgcolor="#C8B0B0" ?>
331       <entry> Ranges iterators as inputs to non-Ranges algorithms </entry>
332       <entry>
333         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2408r5.html">
334         P2408R5
335         </link>
336       </entry>
337       <entry align="center"> </entry>
338       <entry>
339         <code>__cpp_lib_algorithm_iterator_requirements &gt;= 202207L</code>
340       </entry>
341     </row>
343     <row>
344       <entry> Pipe support for user-defined range adaptors </entry>
345       <entry>
346         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2387r3.html">
347         P2387R3
348         </link>
349       </entry>
350       <entry align="center"> 13.1 </entry>
351       <entry>
352         <code>__cpp_lib_bind_pack &gt;= 202202L</code>,
353         <code>__cpp_lib_ranges &gt;= 202202L</code>
354       </entry>
355     </row>
357     <row>
358       <?dbhtml bgcolor="#B0B0B0" ?>
359       <entry>
360         <code>ranges::iota</code>, <code>ranges::shift_left</code>,
361         and <code>ranges::shift_right</code>
362       </entry>
363       <entry>
364         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2440r1.html">
365         P2440R1
366         </link>
367       </entry>
368       <entry align="center"> 13.1 (<code>ranges::iota</code>) </entry>
369       <entry>
370         <code>__cpp_lib_ranges_iota &gt;= 202202L</code>,
371         <code>__cpp_lib_shift &gt;= 202202L</code>
372       </entry>
373     </row>
375     <row>
376       <entry> <code>ranges::find_last</code> </entry>
377       <entry>
378         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1223r5.pdf">
379         P1223R5
380         </link>
381       </entry>
382       <entry align="center"> 13.1 </entry>
383       <entry> <code>__cpp_lib_ranges_find_last &gt;= 202207L</code> </entry>
384     </row>
386     <row>
387       <entry> <code>ranges::contains</code> </entry>
388       <entry>
389         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2302r4.html">
390         P2302R4
391         </link>
392       </entry>
393       <entry align="center"> 13.1 </entry>
394       <entry> <code>__cpp_lib_ranges_contains &gt;= 202207L</code> </entry>
395     </row>
397     <row>
398       <?dbhtml bgcolor="#C8B0B0" ?>
399       <entry> Making multi-param constructors of views explicit </entry>
400       <entry>
401         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2711r1.html">
402         P2711R1
403         </link>
404       </entry>
405       <entry align="center"> </entry>
406       <entry/>
407     </row>
409     <row>
410       <entry> <code>ranges::fold</code> </entry>
411       <entry>
412         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2322r6.html">
413         P2322R6
414         </link>
415       </entry>
416       <entry align="center"> 13.1 </entry>
417       <entry> <code>__cpp_lib_ranges_fold &gt;= 202207L</code> </entry>
418     </row>
420     <row>
421       <?dbhtml bgcolor="#C8B0B0" ?>
422       <entry> Relaxing Ranges Just A Smidge</entry>
423       <entry>
424         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2609r3.html">
425         P2609R3
426         </link>
427       </entry>
428       <entry align="center"> </entry>
429       <entry> <code>__cpp_lib_ranges &gt;= 202302L</code> </entry>
430     </row>
432     <row>
433       <entry namest="c1" nameend="c4" align="left">
434         <emphasis role="bold">Compile-time programming</emphasis>
435       </entry>
436     </row>
438     <row>
439       <entry> A proposal for a type trait to detect scoped enumerations </entry>
440       <entry>
441         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1048r1.pdf">
442         P1048R1
443         </link>
444       </entry>
445       <entry align="center"> 11.1 </entry>
446       <entry> <code>__cpp_lib_is_scoped_enum &gt;= 202011L</code> </entry>
447     </row>
449     <row>
450       <entry> std::to_underlying for enumerations </entry>
451       <entry>
452         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1682r3.html">
453         P1682R3
454         </link>
455       </entry>
456       <entry align="center"> 11.1 </entry>
457       <entry> <code>__cpp_lib_to_underlying &gt;= 202102L</code> </entry>
458     </row>
460     <row>
461       <entry> Missing constexpr in std::optional and std::variant </entry>
462       <entry>
463         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2231r1.html">
464         P2231R1
465         </link>
466       </entry>
467       <entry align="center">
468         <informaltable colsep="0" rowsep="0" rowheader="norowheader" frame="none"><tgroup cols="1"><tbody>
469         <row><entry> 11.3 (<code>optional</code>) </entry></row>
470         <row><entry> 12.1 (<code>variant</code>) </entry></row>
471         </tbody></tgroup></informaltable>
472       </entry>
473       <entry>
474         <informaltable colsep="0" rowsep="0" rowheader="norowheader" frame="none"><tgroup cols="1"><tbody>
475         <row><entry> <code>__cpp_lib_constexpr_optional &gt;= 202106L</code> </entry></row>
476         <row><entry> <code>__cpp_lib_variant &gt;= 202106L</code> </entry></row>
477         </tbody></tgroup></informaltable>
478       </entry>
479     </row>
481     <row>
482       <entry> Making <code>std::unique_ptr</code> constexpr </entry>
483       <entry>
484         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2273r3.pdf">
485         P2273R3
486         </link>
487       </entry>
488       <entry align="center"> 12.1 </entry>
489       <entry> <code>__cpp_lib_constexpr_memory &gt;= 202202L</code> </entry>
490     </row>
492     <row>
493       <entry> Making <code>std::type_info::operator==</code> constexpr </entry>
494       <entry>
495         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1328r1.html">
496         P1328R1
497         </link>
498       </entry>
499       <entry align="center"> 12.1 </entry>
500       <entry> <code>__cpp_lib_constexpr_typeinfo &gt;= 202106L</code> </entry>
501     </row>
503     <row>
504       <?dbhtml bgcolor="#C8B0B0" ?>
505       <entry> constexpr for <code>&lt;cmath&gt;</code> and <code>&lt;cstdlib&gt;</code> </entry>
506       <entry>
507         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0533r9.pdf">
508         P0533R9
509         </link>
510       </entry>
511       <entry align="center"> </entry>
512       <entry> <code>__cpp_lib_constexpr_cmath &gt;= 202202L</code> </entry>
513     </row>
515     <row>
516       <?dbhtml bgcolor="#C8B0B0" ?>
517       <entry> Deprecate std::aligned_storage and std::aligned_union </entry>
518       <entry>
519         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1413r3.pdf">
520         P1413R3
521         </link>
522       </entry>
523       <entry align="center"> </entry>
524       <entry />
525     </row>
527     <row>
528       <entry> A type trait to detect reference binding to temporary </entry>
529       <entry>
530         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2255r2.html">
531         P2255R2
532         </link>
533       </entry>
534       <entry align="center">
535         <informaltable colsep="0" rowsep="0" rowheader="norowheader" frame="none"><tgroup cols="1"><tbody>
536         <row><entry> 13.1 (missing changes to <code>std::tuple</code>) </entry></row>
537         <row><entry> 14.1 (complete) </entry></row>
538         </tbody></tgroup></informaltable>
539       </entry>
540       <entry> <code>__cpp_lib_reference_from_temporary &gt;= 202202L</code> </entry>
541     </row>
543     <row>
544       <?dbhtml bgcolor="#C8B0B0" ?>
545       <entry>
546         Move-only types for equality_comparable_with, totally_ordered_with,
547         and three_way_comparable_with
548       </entry>
549       <entry>
550         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2404r3.pdf">
551         P2404R3
552         </link>
553       </entry>
554       <entry align="center"> </entry>
555       <entry> <code>__cpp_lib_concepts &gt;= 202207L</code> </entry>
556     </row>
558     <row>
559       <?dbhtml bgcolor="#C8B0B0" ?>
560       <entry> A trait for implicit lifetime types </entry>
561       <entry>
562         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2674r1.pdf">
563         P2674R1
564         </link>
565       </entry>
566       <entry align="center"> </entry>
567       <entry> <code>__cpp_lib_is_implicit_lifetime &gt;= 202302L</code> </entry>
568     </row>
570     <row>
571       <?dbhtml bgcolor="#C8B0B0" ?>
572       <entry>
573         <code>common_reference_t</code> of <code>reference_wrapper</code>
574         Should Be a Reference Type
575       </entry>
576       <entry>
577         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2655r3.html">
578         P2655R3
579         </link>
580       </entry>
581       <entry align="center"> </entry>
582       <entry> <code>__cpp_lib_common_reference &gt;= 202302L</code> </entry>
583     </row>
585     <row>
586       <?dbhtml bgcolor="#C8B0B0" ?>
587       <entry> Deprecate <code>numeric_limits::has_denorm</code> </entry>
588       <entry>
589         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2614r2.pdf">
590         P2614R2
591         </link>
592       </entry>
593       <entry align="center"> </entry>
594       <entry/>
595     </row>
597     <row>
598       <entry namest="c1" nameend="c4" align="left">
599         <emphasis role="bold">Containers</emphasis>
600       </entry>
601     </row>
603     <row>
604       <entry> Iterator pair constructors for stack and queue </entry>
605       <entry>
606         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1425r4.pdf">
607         P1425R4
608         </link>
609       </entry>
610       <entry align="center"> 12.1 </entry>
611       <entry> <code>__cpp_lib_adaptor_iterator_pair_constructor &gt;= 202106L</code> </entry>
612     </row>
614     <row>
615       <entry> Stop overconstraining allocators in container deduction guides </entry>
616       <entry>
617         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1518r2.html">
618         P1518R2
619         </link>
620       </entry>
621       <entry align="center"> 12.1 </entry>
622       <entry />
623     </row>
625     <row>
626       <?dbhtml bgcolor="#C8B0B0" ?>
627       <entry> Heterogeneous erasure overloads for associative containers </entry>
628       <entry>
629         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2077r3.html">
630         P2077R3
631         </link>
632       </entry>
633       <entry align="center"> </entry>
634       <entry> <code>__cpp_lib_associative_heterogeneous_erasure &gt;= 202110L</code> </entry>
635     </row>
637     <row>
638       <?dbhtml bgcolor="#C8B0B0" ?>
639       <entry> <code>&lt;flat_map&gt;</code> </entry>
640       <entry>
641         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0429r9.pdf">
642         P0429R9
643         </link>
644       </entry>
645       <entry align="center"> </entry>
646       <entry> <code>__cpp_lib_flat_map &gt;= 202207L</code> </entry>
647     </row>
649     <row>
650       <?dbhtml bgcolor="#C8B0B0" ?>
651       <entry> <code>&lt;flat_set&gt;</code> </entry>
652       <entry>
653         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1222r4.pdf">
654         P1222R4
655         </link>
656       </entry>
657       <entry align="center"> </entry>
658       <entry> <code>__cpp_lib_flat_set &gt;= 202207L</code> </entry>
659     </row>
661     <row>
662       <?dbhtml bgcolor="#C8B0B0" ?>
663       <entry> <code>mdspan</code> </entry>
664       <entry>
665         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0009r18.html">
666         P0009R18
667         </link>
668       </entry>
669       <entry align="center"> </entry>
670       <entry> <code>__cpp_lib_mdspan &gt;= 202207L</code> </entry>
671     </row>
673     <row>
674       <?dbhtml bgcolor="#C8B0B0" ?>
675       <entry>
676         <code>index_type</code> &amp; <code>size_type</code>
677         in <code>mdspan</code>
678       </entry>
679       <entry>
680         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2599r2.pdf">
681         P2599R2
682         </link>
683       </entry>
684       <entry align="center"> </entry>
685       <entry> <code>__cpp_lib_mdspan &gt;= 202207L</code> </entry>
686     </row>
688     <row>
689       <?dbhtml bgcolor="#C8B0B0" ?>
690       <entry>
691         <code>mdspan</code>: rename <code>pointer</code> and
692         <code>contiguous</code>
693       </entry>
694       <entry>
695         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2604r0.html">
696         P2604R0
697         </link>
698       </entry>
699       <entry align="center"> </entry>
700       <entry> <code>__cpp_lib_mdspan &gt;= 202207L</code> </entry>
701     </row>
703     <row>
704       <?dbhtml bgcolor="#C8B0B0" ?>
705       <entry> Add the missing <code>empty</code> to <code>mdspan</code> </entry>
706       <entry>
707         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2613r1.html">
708         P2613R1
709         </link>
710       </entry>
711       <entry align="center"> </entry>
712       <entry> <code>__cpp_lib_mdspan &gt;= 202207L</code> </entry>
713     </row>
715     <row>
716       <?dbhtml bgcolor="#C8B0B0" ?>
717       <entry>
718         <code>layout_stride</code> static extents default constructor fix
719       </entry>
720       <entry>
721         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2763r1.html">
722         P2763R1
723         </link>
724       </entry>
725       <entry align="center"> </entry>
726       <entry/>
727     </row>
729     <row>
730       <entry namest="c1" nameend="c4" align="left">
731         <emphasis role="bold">Strings and text</emphasis>
732       </entry>
733     </row>
735     <row>
736       <entry> string contains function </entry>
737       <entry>
738         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1679r3.html">
739         P1679R3
740         </link>
741       </entry>
742       <entry align="center"> 11.1 </entry>
743       <entry> <code>__cpp_lib_string_contains &gt;= 202011L</code> </entry>
744     </row>
746     <row>
747       <entry> Prohibit std::basic_string and std::basic_string_view construction from nullptr </entry>
748       <entry>
749         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2166r1.html">
750         P2166R1
751         </link>
752       </entry>
753       <entry align="center"> 12.1 </entry>
754       <entry />
755     </row>
757     <row>
758       <entry> basic_string::resize_and_overwrite </entry>
759       <entry>
760         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1072r10.html">
761         P1072R10
762         </link>
763       </entry>
764       <entry align="center"> 12.1 </entry>
765       <entry> <code>__cpp_lib_resize_and_overwrite &gt;= 202110L</code> </entry>
766     </row>
768     <row>
769       <entry> A strstream replacement using span&lt;charT&gt; as buffer </entry>
770       <entry>
771         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0448r4.pdf">
772         P0448R4
773         </link>
774       </entry>
775       <entry align="center"> 12.1 </entry>
776       <entry> <code>__cpp_lib_spanstream &gt;= 202106L</code> </entry>
777     </row>
779     <row>
780       <?dbhtml bgcolor="#C8B0B0" ?>
781       <entry> <code> std::string::substr() &amp;&amp; </code> </entry>
782       <entry>
783         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2438r2.html">
784         P2438R2
785         </link>
786       </entry>
787       <entry align="center"> </entry>
788       <entry/>
789     </row>
792     <row>
793       <entry> std::format improvements </entry>
794       <entry>
795         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2216r3.html">
796         P2216R3
797         </link>
798       </entry>
799       <entry align="center"> 13.1 </entry>
800       <entry> <code>__cpp_lib_format &gt;= 202106L</code> </entry>
801     </row>
803     <row>
804       <entry>
805         Add support for <code>std::generator</code>-like types to
806         <code>std::format</code>
807       </entry>
808       <entry>
809         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2418r2.html">
810         P2418R2
811         </link>
812       </entry>
813       <entry align="center"> 13.1 </entry>
814       <entry> <code>__cpp_lib_format &gt;= 202110L</code> </entry>
815     </row>
817     <row>
818       <entry>
819         Expose <code>std::<emphasis>basic-format-string</emphasis>&lt;charT, Args...&gt;</code>
820       </entry>
821       <entry>
822         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2508r1.html">
823         P2508R1
824         </link>
825       </entry>
826       <entry align="center"> 13.1 (feature test macro not defined)</entry>
827       <entry> <code>__cpp_lib_format &gt;= 202207L</code> </entry>
828     </row>
830     <row>
831       <?dbhtml bgcolor="#C8B0B0" ?>
832       <entry>
833         Clarify handling of encodings in localized formatting of chrono types
834       </entry>
835       <entry>
836         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2419r2.html">
837         P2419R2
838         </link>
839       </entry>
840       <entry align="center"> </entry>
841       <entry> <code>__cpp_lib_format &gt;= 202207L</code> </entry>
842     </row>
844     <row>
845       <entry>
846         Formatting pointers
847       </entry>
848       <entry>
849         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2510r3.pdf">
850         P2510R3
851         </link>
852       </entry>
853       <entry align="center"> 13.2 (feature test macro not defined)</entry>
854       <entry> <code>__cpp_lib_format &gt;= 202207L</code> </entry>
855     </row>
857     <row>
858       <?dbhtml bgcolor="#C8B0B0" ?>
859       <entry> Formatting Ranges </entry>
860       <entry>
861         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2286r8.html">
862         P2286R8
863         </link>
864       </entry>
865       <entry align="center"> </entry>
866       <entry> <code>__cpp_lib_format_ranges &gt;= 202207L</code> </entry>
867     </row>
869     <row>
870       <?dbhtml bgcolor="#C8B0B0" ?>
871       <entry> Improve default container formatting </entry>
872       <entry>
873         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2585r1.html">
874         P2585R1
875         </link>
876       </entry>
877       <entry align="center"> </entry>
878       <entry> <code>__cpp_lib_format_ranges &gt;= 202207L</code> </entry>
879     </row>
881     <row>
882       <entry> Formatted output </entry>
883       <entry>
884         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2093r14.html">
885         P2093R14
886         </link>
887       </entry>
888       <entry align="center"> 14.1 </entry>
889       <entry> <code>__cpp_lib_print &gt;= 202207L</code> </entry>
890     </row>
892     <row>
893       <entry>
894         Should the output of std::print to a terminal be synchronized with
895         the underlying stream?
896       </entry>
897       <entry>
898         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2539r3.html">
899         P2539R3
900         </link>
901       </entry>
902       <entry align="center"> 14.1 </entry>
903       <entry/>
904     </row>
906     <row>
907       <entry>
908         Formatting <code>thread::id</code> and <code>stacktrace</code>
909       </entry>
910       <entry>
911         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2693r1.pdf">
912         P2693R1
913         </link>
914       </entry>
915       <entry align="center"> 14.1 </entry>
916       <entry> <code>__cpp_lib_formatters &gt;= 202302L</code> </entry>
917     </row>
919     <row>
920       <entry>
921         Add Constexpr Modifiers to Functions <code>to_chars</code> and
922         <code>from_chars</code> for Integral Types in
923         <code>&lt;charconv&gt;</code> Header
924       </entry>
925       <entry>
926         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2291r3.pdf">
927         P2291R3
928         </link>
929       </entry>
930       <entry align="center"> 13.1 </entry>
931       <entry> <code>__cpp_lib_constexpr_charconv &gt;= 202207L</code> </entry>
932     </row>
934     <row>
935       <entry namest="c1" nameend="c4" align="left">
936         <emphasis role="bold">Miscellaneous</emphasis>
937       </entry>
938     </row>
940     <row>
941       <entry> Inheriting from <code>std::variant</code> </entry>
942       <entry>
943         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2162r2.html">
944         P2162R2
945         </link>
946       </entry>
947       <entry align="center"> 11.3 </entry>
948       <entry> <code>__cpp_lib_variant &gt;= 202102L</code> </entry>
949     </row>
951     <row>
952       <entry> Printing <code>volatile</code> Pointers </entry>
953       <entry>
954         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1147r1.html">
955         P1147R1
956         </link>
957       </entry>
958       <entry align="center"> 11.3 </entry>
959       <entry/>
960     </row>
962     <row>
963       <entry> A Proposal to add stacktrace library </entry>
964       <entry>
965         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0881r7.html">
966         P0881R7
967         </link>
968       </entry>
969       <entry align="center"> 12.1 </entry>
970       <entry> <code>__cpp_lib_stacktrace &gt;= 202011L</code> </entry>
971     </row>
973     <row>
974       <entry> Add a pmr alias for std::stacktrace </entry>
975       <entry>
976         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2301r1.html">
977         P2301R1
978         </link>
979       </entry>
980       <entry align="center"> 12.1 </entry>
981       <entry />
982     </row>
984     <row>
985       <entry> <code>std::expected</code> </entry>
986       <entry>
987         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0323r12.html">
988         P0323R12
989         </link>
990       </entry>
991       <entry align="center"> 12.1 </entry>
992       <entry> <code>__cpp_lib_expected &gt;= 202202L</code> </entry>
993     </row>
995     <row>
996       <entry> Monadic operations for std::expected </entry>
997       <entry>
998         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2505r5.html">
999         P2505R5
1000         </link>
1001       </entry>
1002       <entry align="center"> 13.1 </entry>
1003       <entry> <code>__cpp_lib_expected &gt;= 202211L</code> </entry>
1004     </row>
1006     <row>
1007       <entry> Monadic operations for std::optional </entry>
1008       <entry>
1009         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0798r8.html">
1010         P0798R8
1011         </link>
1012       </entry>
1013       <entry align="center"> 12.1 </entry>
1014       <entry> <code>__cpp_lib_optional &gt;= 202110L</code> </entry>
1015     </row>
1017     <row>
1018       <entry>
1019         Compatibility between <code>tuple</code>, <code>pair</code>
1020         and <emphasis>tuple-like</emphasis> objects </entry>
1021       <entry>
1022         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2165r4.pdf">
1023         P2165R4
1024         </link>
1025       </entry>
1026       <entry align="center"> 14.1 </entry>
1027       <entry> <code>__cpp_lib_tuple_like &gt;= 202207L</code> </entry>
1028     </row>
1030     <row>
1031       <entry>
1032         Default Arguments for <code>pair</code>'s Forwarding Constructor
1033       </entry>
1034       <entry>
1035         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1951r1.html">
1036         P1951R1
1037         </link>
1038       </entry>
1039       <entry align="center"> 14.1 </entry>
1040       <entry/>
1041     </row>
1043     <row>
1044       <entry> <code>move_only_function</code> </entry>
1045       <entry>
1046         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0288r9.html">
1047         P0288R9
1048         </link>
1049       </entry>
1050       <entry align="center"> 12.1 </entry>
1051       <entry> <code>__cpp_lib_move_only_function &gt;= 202110L</code> </entry>
1052     </row>
1054     <row>
1055       <entry> <code>invoke_r</code> </entry>
1056       <entry>
1057         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2136r3.html">
1058         P2136R3
1059         </link>
1060       </entry>
1061       <entry align="center"> 12.1 </entry>
1062       <entry> <code>__cpp_lib_invoke_r &gt;= 202106L</code> </entry>
1063     </row>
1065     <row>
1066       <entry> Byteswapping for fun&amp;&amp;nuf </entry>
1067       <entry>
1068         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1272r4.html">
1069         P1272R4
1070         </link>
1071       </entry>
1072       <entry align="center"> 12.1 </entry>
1073       <entry> <code>__cpp_lib_byteswap &gt;= 202110L</code> </entry>
1074     </row>
1076     <row>
1077       <entry> Function to mark unreachable code </entry>
1078       <entry>
1079         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0627r6.pdf">
1080         P0627R6
1081         </link>
1082       </entry>
1083       <entry align="center"> 12.1 </entry>
1084       <entry> <code>__cpp_lib_unreachable &gt;= 202202L</code> </entry>
1085     </row>
1087     <row>
1088       <entry> Add a conditional noexcept specification to std::exchange </entry>
1089       <entry>
1090         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2401r0.html">
1091         P2401R0
1092         </link>
1093       </entry>
1094       <entry align="center"> 12.1 </entry>
1095       <entry />
1096     </row>
1098     <row>
1099       <entry> A more constexpr bitset </entry>
1100       <entry>
1101         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2417r2.pdf">
1102         P2417R2
1103         </link>
1104       </entry>
1105       <entry align="center"> 13.1 </entry>
1106       <entry> <code>__cpp_lib_constexpr_bitset &gt;= 202207L</code> </entry>
1107     </row>
1109     <row>
1110       <entry> Extended floating-point types and standard names </entry>
1111       <entry>
1112         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1467r9.html">
1113         P1467R9
1114         </link>
1115       </entry>
1116       <entry align="center"> 13.1 </entry>
1117       <entry/>
1118     </row>
1120     <row>
1121       <entry> Support C atomics in C++ </entry>
1122       <entry>
1123         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0943r6.html">
1124         P0943R6
1125         </link>
1126       </entry>
1127       <entry align="center"> 12.1 </entry>
1128       <entry> <code>__cpp_lib_stdatomic_h &gt;= 202011L</code> </entry>
1129     </row>
1131     <row>
1132       <entry> Clarifying the status of the "C headers" </entry>
1133       <entry>
1134         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2340r1.html">
1135         P2340R1
1136         </link>
1137       </entry>
1138       <entry align="center"> Yes </entry>
1139       <entry />
1140     </row>
1142     <row>
1143       <entry> Relax Requirements for time_point::clock </entry>
1144       <entry>
1145         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2212r2.html">
1146         P2212R2
1147         </link>
1148       </entry>
1149       <entry align="center"> Yes </entry>
1150       <entry />
1151     </row>
1153     <row>
1154       <entry> Removing Garbage Collection Support </entry>
1155       <entry>
1156         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2186r2.html">
1157         P2186R2
1158         </link>
1159       </entry>
1160       <entry align="center"> 12.1 </entry>
1161       <entry />
1162     </row>
1164     <row>
1165       <entry> Easy [utilities], [ranges], and [iterators] </entry>
1166       <entry>
1167         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1642r11.html">
1168         P1642R11
1169         </link>
1170       </entry>
1171       <entry align="center"> 13.1 </entry>
1172       <entry />
1173     </row>
1175     <row>
1176       <?dbhtml bgcolor="#C8B0B0" ?>
1177       <entry> Providing size feedback in the Allocator interface </entry>
1178       <entry>
1179         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0401r6.html">
1180         P0401R6
1181         </link>
1182       </entry>
1183       <entry align="center"> </entry>
1184       <entry> <code>__cpp_lib_allocate_at_least &gt;= 202306L</code> </entry>
1185     </row>
1187     <row>
1188       <?dbhtml bgcolor="#C8B0B0" ?>
1189       <entry>
1190         Disallow User Specialization of <code>allocator_traits</code>
1191       </entry>
1192       <entry>
1193         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2652r2.html">
1194         P2652R2
1195         </link>
1196       </entry>
1197       <entry align="center"> </entry>
1198       <entry/>
1199     </row>
1201     <row>
1202       <?dbhtml bgcolor="#C8B0B0" ?>
1203       <entry> Explicit lifetime management </entry>
1204       <entry>
1205         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2590r2.pdf">
1206         P2590R2
1207         </link>
1208       </entry>
1209       <entry align="center"> </entry>
1210       <entry> <code>__cpp_lib_start_lifetime_as &gt;= 202207L</code> </entry>
1211     </row>
1213     <row>
1214       <?dbhtml bgcolor="#C8B0B0" ?>
1215       <entry>
1216         Fixing <code>std::start_lifetime_as</code> and
1217         <code>std::start_lifetime_as_array</code>
1218       </entry>
1219       <entry>
1220         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2679r2.pdf">
1221         P2679R2
1222         </link>
1223       </entry>
1224       <entry align="center"> </entry>
1225       <entry/>
1226     </row>
1228     <row>
1229       <entry> out_ptr - a scalable output pointer abstraction </entry>
1230       <entry>
1231         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1132r8.html">
1232         P1132R8
1233         </link>
1234       </entry>
1235       <entry align="center"> 14.1 </entry>
1236       <entry> <code>__cpp_lib_out_ptr &gt;= 202106L</code> </entry>
1237     </row>
1239     <row>
1240       <?dbhtml bgcolor="#C8B0B0" ?>
1241       <entry> <code>barrier</code>'s phase completion guarantees </entry>
1242       <entry>
1243         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2588r3.html">
1244         P2588R3
1245         </link>
1246       </entry>
1247       <entry align="center"> </entry>
1248       <entry> <code>__cpp_lib_barrier &gt;= 202302L</code> </entry>
1249     </row>
1251     <row>
1252       <?dbhtml bgcolor="#C8B0B0" ?>
1253       <entry>
1254         Standard Library Modules <code>std</code> and <code>std.compat</code>
1255       </entry>
1256       <entry>
1257         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2465r3.pdf">
1258         P2465R3
1259         </link>
1260       </entry>
1261       <entry align="center"> </entry>
1262       <entry> <code>__cpp_lib_modules &gt;= 202207L</code> </entry>
1263     </row>
1265   </tbody>
1266 </tgroup>
1267 </table>
1269 </section>