Files
llvm-project/libcxx/docs/Status/Cxx17Papers.csv
Louis Dionne d188a7b068 [libc++] Remove CSV tracking for PSTL (#175797)
This is now tracked in Github directly: #99938
2026-01-14 13:27:51 -05:00

21 KiB

1Paper #Paper NameMeetingStatusFirst released versionGitHub issueNotes
2`N3911 <https://wg21.link/N3911>`__TransformationTrait Alias ``void_t``\ .2014-11 (Urbana)|Complete|3.6`#103603 <https://github.com/llvm/llvm-project/issues/103603>`__
3`N4089 <https://wg21.link/N4089>`__Safe conversions in ``unique_ptr<T[]>``\ .2014-11 (Urbana)|Complete|5`#99936 <https://github.com/llvm/llvm-project/issues/99936>`__
4`N4169 <https://wg21.link/N4169>`__A proposal to add invoke function template2014-11 (Urbana)|Complete|3.7`#103604 <https://github.com/llvm/llvm-project/issues/103604>`__
5`N4190 <https://wg21.link/N4190>`__Removing auto_ptr, random_shuffle(), And Old <functional> Stuff.2014-11 (Urbana)|Complete|15`#103605 <https://github.com/llvm/llvm-project/issues/103605>`__
6`N4258 <https://wg21.link/N4258>`__Cleaning-up noexcept in the Library.2014-11 (Urbana)|Complete|21`#99937 <https://github.com/llvm/llvm-project/issues/99937>`__
7`N4259 <https://wg21.link/N4259>`__Wording for std::uncaught_exceptions2014-11 (Urbana)|Complete|3.7`#103606 <https://github.com/llvm/llvm-project/issues/103606>`__``std::uncaught_exception`` is deprecated since LLVM 20
8`N4277 <https://wg21.link/N4277>`__TriviallyCopyable ``reference_wrapper``\ .2014-11 (Urbana)|Complete|3.2`#103608 <https://github.com/llvm/llvm-project/issues/103608>`__
9`N4279 <https://wg21.link/N4279>`__Improved insertion interface for unique-key maps.2014-11 (Urbana)|Complete|3.7`#103609 <https://github.com/llvm/llvm-project/issues/103609>`__
10`N4280 <https://wg21.link/N4280>`__Non-member size() and more2014-11 (Urbana)|Complete|3.6`#103610 <https://github.com/llvm/llvm-project/issues/103610>`__
11`N4284 <https://wg21.link/N4284>`__Contiguous Iterators.2014-11 (Urbana)|Complete|3.6`#103611 <https://github.com/llvm/llvm-project/issues/103611>`__
12`N4285 <https://wg21.link/N4285>`__Cleanup for exception-specification and throw-expression.2014-11 (Urbana)|Complete|4`#103612 <https://github.com/llvm/llvm-project/issues/103612>`__
13
14`N4387 <https://wg21.link/N4387>`__improving pair and tuple2015-05 (Lenexa)|Complete|4`#103613 <https://github.com/llvm/llvm-project/issues/103613>`__
15`N4389 <https://wg21.link/N4389>`__bool_constant2015-05 (Lenexa)|Complete|3.7`#103614 <https://github.com/llvm/llvm-project/issues/103614>`__
16`N4508 <https://wg21.link/N4508>`__shared_mutex for C++172015-05 (Lenexa)|Complete|3.7`#103615 <https://github.com/llvm/llvm-project/issues/103615>`__
17`N4366 <https://wg21.link/N4366>`__LWG 2228 missing SFINAE rule2015-05 (Lenexa)|Complete|3.1`#103616 <https://github.com/llvm/llvm-project/issues/103616>`__
18`N4510 <https://wg21.link/N4510>`__Minimal incomplete type support for standard containers, revision 42015-05 (Lenexa)|Complete|3.6`#103617 <https://github.com/llvm/llvm-project/issues/103617>`__
19
20`P0004R1 <https://wg21.link/P0004R1>`__Remove Deprecated iostreams aliases.2015-10 (Kona)|Complete|3.8`#103618 <https://github.com/llvm/llvm-project/issues/103618>`__
21`P0006R0 <https://wg21.link/P0006R0>`__Adopt Type Traits Variable Templates for C++17.2015-10 (Kona)|Complete|3.8`#103619 <https://github.com/llvm/llvm-project/issues/103619>`__
22`P0092R1 <https://wg21.link/P0092R1>`__Polishing <chrono>2015-10 (Kona)|Complete|3.8`#103620 <https://github.com/llvm/llvm-project/issues/103620>`__
23`P0007R1 <https://wg21.link/P0007R1>`__Constant View: A proposal for a ``std::as_const``\ helper function template.2015-10 (Kona)|Complete|3.8`#103621 <https://github.com/llvm/llvm-project/issues/103621>`__
24`P0156R0 <https://wg21.link/P0156R0>`__Variadic lock_guard(rev 3).2015-10 (Kona)|Nothing To Do|`#103622 <https://github.com/llvm/llvm-project/issues/103622>`__Pulled at the 2017-01 meeting in Kona
25`P0074R0 <https://wg21.link/P0074R0>`__Making ``std::owner_less``\ more flexible2015-10 (Kona)|Complete|3.8`#103623 <https://github.com/llvm/llvm-project/issues/103623>`__
26`P0013R1 <https://wg21.link/P0013R1>`__Logical type traits rev 22015-10 (Kona)|Complete|3.8`#103624 <https://github.com/llvm/llvm-project/issues/103624>`__
27
28`P0024R2 <https://wg21.link/P0024R2>`__The Parallelism TS Should be Standardized2016-02 (Jacksonville)|In Progress|`#99938 <https://github.com/llvm/llvm-project/issues/99938>`__Progress is tracked `here <https://github.com/llvm/llvm-project/issues/99938>`__
29`P0226R1 <https://wg21.link/P0226R1>`__Mathematical Special Functions for C++172016-02 (Jacksonville)|In Progress|`#99939 <https://github.com/llvm/llvm-project/issues/99939>`__Progress is tracked `here <https://github.com/llvm/llvm-project/issues/99939>`__
30`P0220R1 <https://wg21.link/P0220R1>`__Adopt Library Fundamentals V1 TS Components for C++172016-02 (Jacksonville)|Complete|16`#103625 <https://github.com/llvm/llvm-project/issues/103625>`__
31`P0218R1 <https://wg21.link/P0218R1>`__Adopt the File System TS for C++172016-02 (Jacksonville)|Complete|7`#103626 <https://github.com/llvm/llvm-project/issues/103626>`__
32`P0033R1 <https://wg21.link/P0033R1>`__Re-enabling shared_from_this2016-02 (Jacksonville)|Complete|3.9`#103627 <https://github.com/llvm/llvm-project/issues/103627>`__
33`P0005R4 <https://wg21.link/P0005R4>`__Adopt not_fn from Library Fundamentals 2 for C++172016-02 (Jacksonville)|Complete|3.9`#103629 <https://github.com/llvm/llvm-project/issues/103629>`__
34`P0152R1 <https://wg21.link/P0152R1>`__constexpr ``atomic::is_always_lock_free``\ 2016-02 (Jacksonville)|Complete|3.9`#103630 <https://github.com/llvm/llvm-project/issues/103630>`__
35`P0185R1 <https://wg21.link/P0185R1>`__Adding [nothrow-]swappable traits2016-02 (Jacksonville)|Complete|3.9`#103631 <https://github.com/llvm/llvm-project/issues/103631>`__
36`P0253R1 <https://wg21.link/P0253R1>`__Fixing a design mistake in the searchers interface2016-02 (Jacksonville)|Complete|3.9`#103632 <https://github.com/llvm/llvm-project/issues/103632>`__
37`P0025R0 <https://wg21.link/P0025R0>`__An algorithm to "clamp" a value between a pair of boundary values2016-02 (Jacksonville)|Complete|3.9`#103633 <https://github.com/llvm/llvm-project/issues/103633>`__
38`P0154R1 <https://wg21.link/P0154R1>`__constexpr std::hardware_{constructive,destructive}_interference_size2016-02 (Jacksonville)|Complete|19`#103634 <https://github.com/llvm/llvm-project/issues/103634>`__The required macros are only implemented as of LLVM 19.
39`P0030R1 <https://wg21.link/P0030R1>`__Proposal to Introduce a 3-Argument Overload to std::hypot2016-02 (Jacksonville)|Complete|3.9`#103635 <https://github.com/llvm/llvm-project/issues/103635>`__
40`P0031R0 <https://wg21.link/P0031R0>`__A Proposal to Add Constexpr Modifiers to reverse_iterator, move_iterator, array and Range Access2016-02 (Jacksonville)|Complete|4`#103636 <https://github.com/llvm/llvm-project/issues/103636>`__
41`P0272R1 <https://wg21.link/P0272R1>`__Give ``std::string``\ a non-const ``.data()``\ member function2016-02 (Jacksonville)|Complete|3.9`#103637 <https://github.com/llvm/llvm-project/issues/103637>`__
42`P0077R2 <https://wg21.link/P0077R2>`__``is_callable``\ , the missing INVOKE related trait2016-02 (Jacksonville)|Complete|3.9`#103638 <https://github.com/llvm/llvm-project/issues/103638>`__
43
44`P0032R3 <https://wg21.link/P0032R3>`__Homogeneous interface for variant, any and optional2016-06 (Oulu)|Complete|4`#103639 <https://github.com/llvm/llvm-project/issues/103639>`__
45`P0040R3 <https://wg21.link/P0040R3>`__Extending memory management tools2016-06 (Oulu)|Complete|4`#103640 <https://github.com/llvm/llvm-project/issues/103640>`__
46`P0063R3 <https://wg21.link/P0063R3>`__C++17 should refer to C11 instead of C992016-06 (Oulu)|Complete|7`#103642 <https://github.com/llvm/llvm-project/issues/103642>`__
47`P0067R3 <https://wg21.link/P0067R3>`__Elementary string conversions2016-06 (Oulu)|Nothing To Do|n/a`#103643 <https://github.com/llvm/llvm-project/issues/103643>`__Resolved by `P0067R5 <https://wg21.link/P0067R5>`__
48`P0083R3 <https://wg21.link/P0083R3>`__Splicing Maps and Sets2016-06 (Oulu)|Complete|8`#103645 <https://github.com/llvm/llvm-project/issues/103645>`__
49`P0084R2 <https://wg21.link/P0084R2>`__Emplace Return Type2016-06 (Oulu)|Complete|4`#103646 <https://github.com/llvm/llvm-project/issues/103646>`__
50`P0088R3 <https://wg21.link/P0088R3>`__Variant: a type-safe union for C++172016-06 (Oulu)|Complete|4`#103647 <https://github.com/llvm/llvm-project/issues/103647>`__
51`P0137R1 <https://wg21.link/P0137R1>`__Core Issue 1776: Replacement of class objects containing reference members2016-06 (Oulu)|Complete|6`#103648 <https://github.com/llvm/llvm-project/issues/103648>`__
52`P0163R0 <https://wg21.link/P0163R0>`__shared_ptr::weak_type2016-06 (Oulu)|Complete|3.9`#103649 <https://github.com/llvm/llvm-project/issues/103649>`__
53`P0174R2 <https://wg21.link/P0174R2>`__Deprecating Vestigial Library Parts in C++172016-06 (Oulu)|Complete|15`#103650 <https://github.com/llvm/llvm-project/issues/103650>`__
54`P0175R1 <https://wg21.link/P0175R1>`__Synopses for the C library2016-06 (Oulu)|Nothing To Do|n/a`#99941 <https://github.com/llvm/llvm-project/issues/99941>`__
55`P0180R2 <https://wg21.link/P0180R2>`__Reserve a New Library Namespace for Future Standardization2016-06 (Oulu)|Nothing To Do|n/a`#103651 <https://github.com/llvm/llvm-project/issues/103651>`__
56`P0181R1 <https://wg21.link/P0181R1>`__Ordered by Default2016-06 (Oulu)|Nothing To Do|n/a`#103652 <https://github.com/llvm/llvm-project/issues/103652>`__Pulled at the 2017-01 meeting in Kona
57`P0209R2 <https://wg21.link/P0209R2>`__make_from_tuple: apply for construction2016-06 (Oulu)|Complete|3.9`#103653 <https://github.com/llvm/llvm-project/issues/103653>`__
58`P0219R1 <https://wg21.link/P0219R1>`__Relative Paths for Filesystem2016-06 (Oulu)|Complete|7`#103654 <https://github.com/llvm/llvm-project/issues/103654>`__
59`P0254R2 <https://wg21.link/P0254R2>`__Integrating std::string_view and std::string2016-06 (Oulu)|Complete|4`#103655 <https://github.com/llvm/llvm-project/issues/103655>`__
60`P0258R2 <https://wg21.link/P0258R2>`__has_unique_object_representations2016-06 (Oulu)|Complete|6`#103656 <https://github.com/llvm/llvm-project/issues/103656>`__
61`P0295R0 <https://wg21.link/P0295R0>`__Adopt Selected Library Fundamentals V2 Components for C++172016-06 (Oulu)|Complete|4`#103657 <https://github.com/llvm/llvm-project/issues/103657>`__
62`P0302R1 <https://wg21.link/P0302R1>`__Removing Allocator Support in std::function2016-06 (Oulu)|Complete|4`#103658 <https://github.com/llvm/llvm-project/issues/103658>`__
63`P0307R2 <https://wg21.link/P0307R2>`__Making Optional Greater Equal Again2016-06 (Oulu)|Complete|4`#103659 <https://github.com/llvm/llvm-project/issues/103659>`__
64`P0336R1 <https://wg21.link/P0336R1>`__Better Names for Parallel Execution Policies in C++172016-06 (Oulu)|Complete|17`#103660 <https://github.com/llvm/llvm-project/issues/103660>`__
65`P0337R0 <https://wg21.link/P0337R0>`__Delete ``operator=``\ for polymorphic_allocator2016-06 (Oulu)|Complete|3.9`#103661 <https://github.com/llvm/llvm-project/issues/103661>`__
66`P0346R1 <https://wg21.link/P0346R1>`__A <random> Nomenclature Tweak2016-06 (Oulu)|Complete|3.9`#103662 <https://github.com/llvm/llvm-project/issues/103662>`__
67`P0358R1 <https://wg21.link/P0358R1>`__Fixes for not_fn2016-06 (Oulu)|Complete|3.9`#103663 <https://github.com/llvm/llvm-project/issues/103663>`__
68`P0371R1 <https://wg21.link/P0371R1>`__Temporarily discourage memory_order_consume2016-06 (Oulu)|Nothing To Do|n/a`#103664 <https://github.com/llvm/llvm-project/issues/103664>`__
69`P0392R0 <https://wg21.link/P0392R0>`__Adapting string_view by filesystem paths2016-06 (Oulu)|Complete|4`#103665 <https://github.com/llvm/llvm-project/issues/103665>`__
70`P0393R3 <https://wg21.link/P0393R3>`__Making Variant Greater Equal2016-06 (Oulu)|Complete|4`#103666 <https://github.com/llvm/llvm-project/issues/103666>`__
71`P0394R4 <https://wg21.link/P0394R4>`__Hotel Parallelifornia: terminate() for Parallel Algorithms Exception Handling2016-06 (Oulu)|Complete|17`#103667 <https://github.com/llvm/llvm-project/issues/103667>`__
72
73`P0003R5 <https://wg21.link/P0003R5>`__Removing Deprecated Exception Specifications from C++172016-11 (Issaquah)|Complete|5`#103668 <https://github.com/llvm/llvm-project/issues/103668>`__
74`P0067R5 <https://wg21.link/P0067R5>`__Elementary string conversions, revision 52016-11 (Issaquah)|Partial|`#99940 <https://github.com/llvm/llvm-project/issues/99940>`__For integer types, ``std::(to|from)_chars`` has been available since v7; for ``float`` and ``double``, ``std::to_chars`` since v14 and ``std::from_chars`` since v20. Support is complete except for ``long double``.
75`P0403R1 <https://wg21.link/P0403R1>`__Literal suffixes for ``basic_string_view``\ 2016-11 (Issaquah)|Complete|4`#103669 <https://github.com/llvm/llvm-project/issues/103669>`__
76`P0414R2 <https://wg21.link/P0414R2>`__Merging shared_ptr changes from Library Fundamentals to C++172016-11 (Issaquah)|Complete|11`#103670 <https://github.com/llvm/llvm-project/issues/103670>`__
77`P0418R2 <https://wg21.link/P0418R2>`__Fail or succeed: there is no atomic lattice2016-11 (Issaquah)`#99942 <https://github.com/llvm/llvm-project/issues/99942>`__
78`P0426R1 <https://wg21.link/P0426R1>`__Constexpr for ``std::char_traits``\ 2016-11 (Issaquah)|Complete|4`#103671 <https://github.com/llvm/llvm-project/issues/103671>`__
79`P0435R1 <https://wg21.link/P0435R1>`__Resolving LWG Issues re ``common_type``\ 2016-11 (Issaquah)|Complete|4`#103672 <https://github.com/llvm/llvm-project/issues/103672>`__
80`P0502R0 <https://wg21.link/P0502R0>`__Throwing out of a parallel algorithm terminates - but how?2016-11 (Issaquah)`#99943 <https://github.com/llvm/llvm-project/issues/99943>`__
81`P0503R0 <https://wg21.link/P0503R0>`__Correcting library usage of "literal type"2016-11 (Issaquah)|Complete|4`#103673 <https://github.com/llvm/llvm-project/issues/103673>`__
82`P0504R0 <https://wg21.link/P0504R0>`__Revisiting in-place tag types for any/optional/variant2016-11 (Issaquah)|Complete|4`#103674 <https://github.com/llvm/llvm-project/issues/103674>`__
83`P0505R0 <https://wg21.link/P0505R0>`__Wording for GB 50 - constexpr for chrono2016-11 (Issaquah)|Complete|4`#103675 <https://github.com/llvm/llvm-project/issues/103675>`__
84`P0508R0 <https://wg21.link/P0508R0>`__Wording for GB 58 - structured bindings for node_handles2016-11 (Issaquah)|Complete|7`#99944 <https://github.com/llvm/llvm-project/issues/99944>`__
85`P0509R1 <https://wg21.link/P0509R1>`__Updating "Restrictions on exception handling"2016-11 (Issaquah)|Nothing To Do|n/a`#103676 <https://github.com/llvm/llvm-project/issues/103676>`__
86`P0510R0 <https://wg21.link/P0510R0>`__Disallowing references, incomplete types, arrays, and empty variants2016-11 (Issaquah)|Complete|4`#103677 <https://github.com/llvm/llvm-project/issues/103677>`__
87`P0513R0 <https://wg21.link/P0513R0>`__Poisoning the Hash2016-11 (Issaquah)|Complete|5`#103678 <https://github.com/llvm/llvm-project/issues/103678>`__Implemented as a DR against C++11 since LLVM 22. MSVC STL does the same.
88`P0516R0 <https://wg21.link/P0516R0>`__Clarify That shared_future's Copy Operations have Wide Contracts2016-11 (Issaquah)|Complete|4`#103679 <https://github.com/llvm/llvm-project/issues/103679>`__
89`P0517R0 <https://wg21.link/P0517R0>`__Make future_error Constructible2016-11 (Issaquah)|Complete|4`#103680 <https://github.com/llvm/llvm-project/issues/103680>`__
90`P0521R0 <https://wg21.link/P0521R0>`__Proposed Resolution for CA 14 (shared_ptr use_count/unique)2016-11 (Issaquah)|Complete|18`#103681 <https://github.com/llvm/llvm-project/issues/103681>`__
91
92`P0156R2 <https://wg21.link/P0156R2>`__Variadic Lock guard(rev 5)2017-02 (Kona)|Complete|5`#103682 <https://github.com/llvm/llvm-project/issues/103682>`__
93`P0270R3 <https://wg21.link/P0270R3>`__Removing C dependencies from signal handler wording2017-02 (Kona)|Nothing To Do|`#99946 <https://github.com/llvm/llvm-project/issues/99946>`__
94`P0298R3 <https://wg21.link/P0298R3>`__A byte type definition2017-02 (Kona)|Complete|5`#103683 <https://github.com/llvm/llvm-project/issues/103683>`__
95`P0317R1 <https://wg21.link/P0317R1>`__Directory Entry Caching for Filesystem2017-02 (Kona)|Complete|7`#103684 <https://github.com/llvm/llvm-project/issues/103684>`__
96`P0430R2 <https://wg21.link/P0430R2>`__File system library on non-POSIX-like operating systems2017-02 (Kona)|Complete|7`#103685 <https://github.com/llvm/llvm-project/issues/103685>`__
97`P0433R2 <https://wg21.link/P0433R2>`__Toward a resolution of US7 and US14: Integrating template deduction for class templates into the standard library2017-02 (Kona)|Complete|14`#103686 <https://github.com/llvm/llvm-project/issues/103686>`__
98`P0452R1 <https://wg21.link/P0452R1>`__Unifying <numeric> Parallel Algorithms2017-02 (Kona)|Partial|`#99948 <https://github.com/llvm/llvm-project/issues/99948>`__The changes to ``std::transform_inclusive_scan`` and ``std::transform_exclusive_scan`` have not yet been implemented.
99`P0467R2 <https://wg21.link/P0467R2>`__Iterator Concerns for Parallel Algorithms2017-02 (Kona)|Partial|`#99949 <https://github.com/llvm/llvm-project/issues/99949>`__
100`P0492R2 <https://wg21.link/P0492R2>`__Proposed Resolution of C++17 National Body Comments for Filesystems2017-02 (Kona)|Complete|7`#103687 <https://github.com/llvm/llvm-project/issues/103687>`__
101`P0518R1 <https://wg21.link/P0518R1>`__Allowing copies as arguments to function objects given to parallel algorithms in response to CH112017-02 (Kona)|Nothing To Do|`#103689 <https://github.com/llvm/llvm-project/issues/103689>`__
102`P0523R1 <https://wg21.link/P0523R1>`__Wording for CH 10: Complexity of parallel algorithms2017-02 (Kona)|Nothing To Do|`#103690 <https://github.com/llvm/llvm-project/issues/103690>`__
103`P0548R1 <https://wg21.link/P0548R1>`__common_type and duration2017-02 (Kona)|Complete|5`#103691 <https://github.com/llvm/llvm-project/issues/103691>`__
104`P0558R1 <https://wg21.link/P0558R1>`__Resolving atomic<T> named base class inconsistencies2017-02 (Kona)|Complete|`#103693 <https://github.com/llvm/llvm-project/issues/103693>`__
105`P0574R1 <https://wg21.link/P0574R1>`__Algorithm Complexity Constraints and Parallel Overloads2017-02 (Kona)|Nothing To Do|`#103694 <https://github.com/llvm/llvm-project/issues/103694>`__
106`P0599R1 <https://wg21.link/P0599R1>`__noexcept for hash functions2017-02 (Kona)|Complete|5`#103695 <https://github.com/llvm/llvm-project/issues/103695>`__
107`P0604R0 <https://wg21.link/P0604R0>`__Resolving GB 55, US 84, US 85, US 862017-02 (Kona)|Complete|`#103696 <https://github.com/llvm/llvm-project/issues/103696>`__
108`P0607R0 <https://wg21.link/P0607R0>`__Inline Variables for the Standard Library2017-02 (Kona)|In Progress|6`#99951 <https://github.com/llvm/llvm-project/issues/99951>`__The parts of P0607 that are not done are the ``<regex>`` bits
109`P0618R0 <https://wg21.link/P0618R0>`__Deprecating <codecvt>2017-02 (Kona)|Complete|15`#103697 <https://github.com/llvm/llvm-project/issues/103697>`__
110`P0623R0 <https://wg21.link/P0623R0>`__Final C++17 Parallel Algorithms Fixes2017-02 (Kona)|Nothing To Do|`#103698 <https://github.com/llvm/llvm-project/issues/103698>`__
111
112`P0682R1 <https://wg21.link/P0682R1>`__Repairing elementary string conversions2017-07 (Toronto)`#99952 <https://github.com/llvm/llvm-project/issues/99952>`__
113`P0739R0 <https://wg21.link/P0739R0>`__Some improvements to class template argument deduction integration into the standard library2017-07 (Toronto)|Complete|5`#103699 <https://github.com/llvm/llvm-project/issues/103699>`__