llvm-project/libcxx/docs/Status/Cxx23Papers.csv
Hui def50f701f
[libc++] implement std::flat_multimap (#113835)
fixes https://github.com/llvm/llvm-project/issues/105190

---------

Co-authored-by: Hui Xie <huixie@Mac.broadband>
Co-authored-by: Hui Xie <huixie@Huis-MacBook-Pro.local>
2025-01-25 18:30:00 +00:00

15 KiB
Raw Blame History

1Paper #Paper NameMeetingStatusFirst released versionNotes
2`P0881R7 <https://wg21.link/P0881R7>`__A Proposal to add stacktrace library2020-11 (Virtual)
3`P0943R6 <https://wg21.link/P0943R6>`__Support C atomics in C++2020-11 (Virtual)|Complete|15
4`P1048R1 <https://wg21.link/P1048R1>`__A proposal for a type trait to detect scoped enumerations2020-11 (Virtual)|Complete|12
5`P1679R3 <https://wg21.link/P1679R3>`__string contains function2020-11 (Virtual)|Complete|12
6
7`P1682R3 <https://wg21.link/P1682R3>`__std::to_underlying for enumerations2021-02 (Virtual)|Complete|13
8`P2017R1 <https://wg21.link/P2017R1>`__Conditionally borrowed ranges2021-02 (Virtual)|Complete|16
9`P2160R1 <https://wg21.link/P2160R1>`__Locks lock lockables2021-02 (Virtual)|Nothing To Do|
10`P2162R2 <https://wg21.link/P2162R2>`__Inheriting from std::variant2021-02 (Virtual)|Complete|13
11`P2212R2 <https://wg21.link/P2212R2>`__Relax Requirements for time_point::clock2021-02 (Virtual)|Nothing To Do|
12`P2259R1 <https://wg21.link/P2259R1>`__Repairing input range adaptors and counted_iterator2021-02 (Virtual)
13
14`P0401R6 <https://wg21.link/P0401R6>`__Providing size feedback in the Allocator interface2021-06 (Virtual)|Complete|15
15`P0448R4 <https://wg21.link/P0448R4>`__A strstream replacement using span<charT> as buffer2021-06 (Virtual)
16`P1132R8 <https://wg21.link/P1132R8>`__out_ptr - a scalable output pointer abstraction2021-06 (Virtual)|Complete|19
17`P1328R1 <https://wg21.link/P1328R1>`__Making std::type_info::operator== constexpr2021-06 (Virtual)|Complete|17
18`P1425R4 <https://wg21.link/P1425R4>`__Iterators pair constructors for stack and queue2021-06 (Virtual)|Complete|14
19`P1518R2 <https://wg21.link/P1518R2>`__Stop overconstraining allocators in container deduction guides2021-06 (Virtual)|Complete|13
20`P1659R3 <https://wg21.link/P1659R3>`__starts_with and ends_with2021-06 (Virtual)|Complete|19
21`P1951R1 <https://wg21.link/P1951R1>`__Default Arguments for pair Forwarding Constructor2021-06 (Virtual)|Complete|14
22`P1989R2 <https://wg21.link/P1989R2>`__Range constructor for std::string_view2021-06 (Virtual)|Complete|14
23`P2136R3 <https://wg21.link/P2136R3>`__invoke_r2021-06 (Virtual)|Complete|17
24`P2166R1 <https://wg21.link/P2166R1>`__A Proposal to Prohibit std::basic_string and std::basic_string_view construction from nullptr2021-06 (Virtual)|Complete|13
25
26`P0288R9 <https://wg21.link/P0288R9>`__``any_invocable``2021-10 (Virtual)
27`P0798R8 <https://wg21.link/P0798R8>`__Monadic operations for ``std::optional``2021-10 (Virtual)|Complete|14
28`P0849R8 <https://wg21.link/P0849R8>`__``auto(x)``: ``DECAY_COPY`` in the language2021-10 (Virtual)|Complete|14
29`P1072R10 <https://wg21.link/P1072R10>`__``basic_string::resize_and_overwrite``2021-10 (Virtual)|Complete|14
30`P1147R1 <https://wg21.link/P1147R1>`__Printing ``volatile`` Pointers2021-10 (Virtual)|Complete|14
31`P1272R4 <https://wg21.link/P1272R4>`__Byteswapping for fun&&nuf2021-10 (Virtual)|Complete|14
32`P1675R2 <https://wg21.link/P1675R2>`__``rethrow_exception`` must be allowed to copy2021-10 (Virtual)|Nothing To Do|
33`P2077R3 <https://wg21.link/P2077R3>`__Heterogeneous erasure overloads for associative containers2021-10 (Virtual)
34`P2251R1 <https://wg21.link/P2251R1>`__Require ``span`` & ``basic_string_view`` to be Trivially Copyable2021-10 (Virtual)|Complete|14
35`P2301R1 <https://wg21.link/P2301R1>`__Add a ``pmr`` alias for ``std::stacktrace``2021-10 (Virtual)
36`P2321R2 <https://wg21.link/P2321R2>`__``zip``2021-10 (Virtual)|In Progress|
37`P2340R1 <https://wg21.link/P2340R1>`__Clarifying the status of the 'C headers'2021-10 (Virtual)|Nothing To Do|
38`P2393R1 <https://wg21.link/P2393R1>`__Cleaning up ``integer``-class types2021-10 (Virtual)
39`P2401R0 <https://wg21.link/P2401R0>`__Add a conditional ``noexcept`` specification to ``std::exchange``2021-10 (Virtual)|Complete|14
40
41`P0323R12 <https://wg21.link/P0323R12>`__``std::expected``2022-02 (Virtual)|Complete|16
42`P0533R9 <https://wg21.link/P0533R9>`__``constexpr`` for ``<cmath>`` and ``<cstdlib>``2022-02 (Virtual)|In Progress|``isfinite``, ``isinf``, ``isnan`` and ``isnormal`` are implemented
43`P0627R6 <https://wg21.link/P0627R6>`__Function to mark unreachable code2022-02 (Virtual)|Complete|15
44`P1206R7 <https://wg21.link/P1206R7>`__``ranges::to``: A function to convert any range to a container2022-02 (Virtual)|Complete|17
45`P1413R3 <https://wg21.link/P1413R3>`__Deprecate ``std::aligned_storage`` and ``std::aligned_union``2022-02 (Virtual)|Complete|``std::aligned_storage_t`` and ``std::aligned_union_t`` are marked deprecated, but clang doesn't issue a diagnostic for deprecated using template declarations.
46`P2255R2 <https://wg21.link/P2255R2>`__A type trait to detect reference binding to temporary2022-02 (Virtual)
47`P2273R3 <https://wg21.link/P2273R3>`__Making ``std::unique_ptr`` constexpr2022-02 (Virtual)|Complete|16
48`P2387R3 <https://wg21.link/P2387R3>`__Pipe support for user-defined range adaptors2022-02 (Virtual)|Complete|19
49`P2440R1 <https://wg21.link/P2440R1>`__``ranges::iota``, ``ranges::shift_left`` and ``ranges::shift_right``2022-02 (Virtual)
50`P2441R2 <https://wg21.link/P2441R2>`__``views::join_with``2022-02 (Virtual)|In Progress|
51`P2442R1 <https://wg21.link/P2442R1>`__Windowing range adaptors: ``views::chunk`` and ``views::slide``2022-02 (Virtual)
52`P2443R1 <https://wg21.link/P2443R1>`__``views::chunk_by``2022-02 (Virtual)|Complete|18
53
54`P0009R18 <https://wg21.link/P0009R18>`__mdspan: A Non-Owning Multidimensional Array Reference2022-07 (Virtual)|Complete|18
55`P0429R9 <https://wg21.link/P0429R9>`__A Standard ``flat_map``2022-07 (Virtual)|Complete|
56`P1169R4 <https://wg21.link/P1169R4>`__``static operator()``2022-07 (Virtual)|Complete|16
57`P1222R4 <https://wg21.link/P1222R4>`__A Standard ``flat_set``2022-07 (Virtual)
58`P1223R5 <https://wg21.link/P1223R5>`__``ranges::find_last()``, ``ranges::find_last_if()``, and ``ranges::find_last_if_not()``2022-07 (Virtual)|Complete|19
59`P1467R9 <https://wg21.link/P1467R9>`__Extended ``floating-point`` types and standard names2022-07 (Virtual)
60`P1642R11 <https://wg21.link/P1642R11>`__Freestanding ``[utilities]``, ``[ranges]``, and ``[iterators]``2022-07 (Virtual)
61`P1899R3 <https://wg21.link/P1899R3>`__``stride_view``2022-07 (Virtual)
62`P2093R14 <https://wg21.link/P2093R14>`__Formatted output2022-07 (Virtual)|Complete|18
63`P2165R4 <https://wg21.link/P2165R4>`__Compatibility between ``tuple``, ``pair`` and ``tuple-like`` objects2022-07 (Virtual)|Partial|Only the part for ``zip_view`` is implemented.
64`P2278R4 <https://wg21.link/P2278R4>`__``cbegin`` should always return a constant iterator2022-07 (Virtual)
65`P2286R8 <https://wg21.link/P2286R8>`__Formatting Ranges2022-07 (Virtual)|Complete|16
66`P2291R3 <https://wg21.link/P2291R3>`__Add Constexpr Modifiers to Functions ``to_chars`` and ``from_chars`` for Integral Types in ``<charconv>`` Header2022-07 (Virtual)|Complete|16
67`P2302R4 <https://wg21.link/P2302R4>`__``std::ranges::contains``2022-07 (Virtual)|Complete|19
68`P2322R6 <https://wg21.link/P2322R6>`__``ranges::fold``2022-07 (Virtual)
69`P2374R4 <https://wg21.link/P2374R4>`__``views::cartesian_product``2022-07 (Virtual)
70`P2404R3 <https://wg21.link/P2404R3>`__Move-only types for ``equality_comparable_with``, ``totally_ordered_with``, and ``three_way_comparable_with``2022-07 (Virtual)
71`P2408R5 <https://wg21.link/P2408R5>`__Ranges iterators as inputs to non-Ranges algorithms2022-07 (Virtual)
72`P2417R2 <https://wg21.link/P2417R2>`__A more ``constexpr`` ``bitset``2022-07 (Virtual)|Complete|16
73`P2419R2 <https://wg21.link/P2419R2>`__Clarify handling of encodings in localized formatting of chrono types2022-07 (Virtual)
74`P2438R2 <https://wg21.link/P2438R2>`__``std::string::substr() &&``2022-07 (Virtual)|Complete|16
75`P2445R1 <https://wg21.link/P2445R1>`__``forward_like``2022-07 (Virtual)|Complete|16
76`P2446R2 <https://wg21.link/P2446R2>`__``views::as_rvalue``2022-07 (Virtual)|Complete|16
77`P2460R2 <https://wg21.link/P2460R2>`__Relax requirements on ``wchar_t`` to match existing practices2022-07 (Virtual)|Nothing To Do|
78`P2465R3 <https://wg21.link/P2465R3>`__Standard Library Modules ``std`` and ``std.compat``2022-07 (Virtual)|Complete|19
79`P2467R1 <https://wg21.link/P2467R1>`__Support exclusive mode for ``fstreams``2022-07 (Virtual)|Complete|18
80`P2474R2 <https://wg21.link/P2474R2>`__``views::repeat``2022-07 (Virtual)|Complete|17
81`P2494R2 <https://wg21.link/P2494R2>`__Relaxing range adaptors to allow for move only types2022-07 (Virtual)|Complete|17
82`P2499R0 <https://wg21.link/P2499R0>`__``string_view`` range constructor should be ``explicit``2022-07 (Virtual)|Complete|16
83`P2502R2 <https://wg21.link/P2502R2>`__``std::generator``: Synchronous Coroutine Generator for Ranges2022-07 (Virtual)
84`P2508R1 <https://wg21.link/P2508R1>`__Exposing ``std::basic-format-string``2022-07 (Virtual)|Complete|15
85`P2513R4 <https://wg21.link/P2513R4>`__``char8_t`` Compatibility and Portability Fixes2022-07 (Virtual)
86`P2517R1 <https://wg21.link/P2517R1>`__Add a conditional ``noexcept`` specification to ``std::apply``2022-07 (Virtual)|Complete|3.9
87`P2520R0 <https://wg21.link/P2520R0>`__``move_iterator`` should be a random access iterator2022-07 (Virtual)|Complete|17Implemented as a DR in C++20
88`P2540R1 <https://wg21.link/P2540R1>`__Empty Product for certain Views2022-07 (Virtual)
89`P2549R1 <https://wg21.link/P2549R1>`__``std::unexpected`` should have ``error()`` as member accessor2022-07 (Virtual)|Complete|16
90`P2585R0 <https://wg21.link/P2585R0>`__Improving default container formatting2022-07 (Virtual)|Complete|17
91`P2590R2 <https://wg21.link/P2590R2>`__Explicit lifetime management2022-07 (Virtual)
92`P2599R2 <https://wg21.link/P2599R2>`__``mdspan::size_type`` should be ``index_type``2022-07 (Virtual)|Complete|18
93`P2604R0 <https://wg21.link/P2604R0>`__mdspan: rename pointer and contiguous2022-07 (Virtual)|Complete|18
94`P2613R1 <https://wg21.link/P2613R1>`__Add the missing ``empty`` to ``mdspan``2022-07 (Virtual)|Complete|18
95
96`P1202R5 <https://wg21.link/P1202R5>`__Asymmetric Fences2022-11 (Kona)
97`P1264R2 <https://wg21.link/P1264R2>`__Revising the wording of ``stream`` input operations2022-11 (Kona)|Complete|9
98`P1478R8 <https://wg21.link/P1478R8>`__``Byte-wise`` ``atomic`` ``memcpy``2022-11 (Kona)
99`P2167R3 <https://wg21.link/P2167R3>`__Improved Proposed Wording for LWG 21142022-11 (Kona)|Complete|20The `[cmp.alg] <https://eel.is/c++draft/cmp.alg>`__ part is implemented as a DR against C++20. MSVC STL does the same. Other parts are Nothing To Do.
100`P2396R1 <https://wg21.link/P2396R1>`__Concurrency TS 2 fixes 2022-11 (Kona)
101`P2505R5 <https://wg21.link/P2505R5>`__Monadic Functions for ``std::expected``2022-11 (Kona)|Complete|17
102`P2539R4 <https://wg21.link/P2539R4>`__Should the output of ``std::print`` to a terminal be synchronized with the underlying stream?2022-11 (Kona)|Complete|18
103`P2602R2 <https://wg21.link/P2602R2>`__Poison Pills are Too Toxic2022-11 (Kona)|Complete|19Implemented as a DR in C++20
104`P2708R1 <https://wg21.link/P2708R1>`__No Further Fundamentals TSes2022-11 (Kona)|Nothing To Do|
105
106`P0290R4 <https://wg21.link/P0290R4>`__``apply()`` for ``synchronized_value<T>``2023-02 (Issaquah)
107`P2770R0 <https://wg21.link/P2770R0>`__Stashing stashing ``iterators`` for proper flattening2023-02 (Issaquah)|Partial|``join_with_view`` hasn't been done yet since this type isn't implemented yet
108`P2164R9 <https://wg21.link/P2164R9>`__``views::enumerate``2023-02 (Issaquah)
109`P2711R1 <https://wg21.link/P2711R1>`__Making multi-param constructors of ``views`` ``explicit``2023-02 (Issaquah)|In Progress|``join_with_view`` hasn't been done yet since this type isn't implemented yet
110`P2609R3 <https://wg21.link/P2609R3>`__Relaxing Ranges Just A Smidge2023-02 (Issaquah)|Complete|20Implemented as a DR in C++20. Other implementations will do the same.
111`P2713R1 <https://wg21.link/P2713R1>`__Escaping improvements in ``std::format``2023-02 (Issaquah)|Complete|19
112`P2675R1 <https://wg21.link/P2675R1>`__``format``'s width estimation is too approximate and not forward compatible2023-02 (Issaquah)|Complete|17
113`P2572R1 <https://wg21.link/P2572R1>`__``std::format`` fill character allowances2023-02 (Issaquah)|Complete|17
114`P2693R1 <https://wg21.link/P2693R1>`__Formatting ``thread::id`` and ``stacktrace``2023-02 (Issaquah)|Partial|The formatter for ``stacktrace`` is not implemented, since ``stacktrace`` is not implemented yet
115`P2679R2 <https://wg21.link/P2679R2>`__Fixing ``std::start_lifetime_as`` for arrays2023-02 (Issaquah)
116`P2674R1 <https://wg21.link/P2674R1>`__A trait for implicit lifetime types2023-02 (Issaquah)|Complete|20
117`P2655R3 <https://wg21.link/P2655R3>`__``common_reference_t`` of ``reference_wrapper`` Should Be a Reference Type2023-02 (Issaquah)
118`P2652R2 <https://wg21.link/P2652R2>`__Disallow User Specialization of ``allocator_traits``2023-02 (Issaquah)|Complete|19
119`P2787R1 <https://wg21.link/P2787R1>`__``pmr::generator`` - Promise Types are not Values2023-02 (Issaquah)
120`P2614R2 <https://wg21.link/P2614R2>`__Deprecate ``numeric_limits::has_denorm``2023-02 (Issaquah)|Complete|18
121`P2588R3 <https://wg21.link/P2588R3>`__``barrier``s phase completion guarantees2023-02 (Issaquah)
122`P2763R1 <https://wg21.link/P2763R1>`__``layout_stride`` static extents default constructor fix2023-02 (Issaquah)
123`P2736R2 <https://wg21.link/P2736R2>`__Referencing The Unicode Standard2023-02 (Issaquah)|Complete|19