llvm-project/libcxx/docs/Status/Cxx17Papers.csv
Nikolas Klauser 34d4f0c136
[libc++][NFC] Use llvm.org/PR to link to bug reports (#156288)
We've built up quite a few links directly to github within the code
base. We should instead use `llvm.org/PR<issue-number>` to link to bugs,
since that is resilient to the bug tracker changing in the future. This
is especially relevant for tests linking to bugs, since they will
probably be there for decades to come. A nice side effect is that these
links are significantly shorter than the GH links, making them much less
of an eyesore.

This patch also replaces a few links that linked to the old bugzilla
instance on llvm.org.
2025-09-04 09:20:02 +02:00

14 KiB

1Paper #Paper NameMeetingStatusFirst released versionNotes
2`N3911 <https://wg21.link/N3911>`__TransformationTrait Alias ``void_t``\ .2014-11 (Urbana)|Complete|3.6
3`N4089 <https://wg21.link/N4089>`__Safe conversions in ``unique_ptr<T[]>``\ .2014-11 (Urbana)|Complete|5
4`N4169 <https://wg21.link/N4169>`__A proposal to add invoke function template2014-11 (Urbana)|Complete|3.7
5`N4190 <https://wg21.link/N4190>`__Removing auto_ptr, random_shuffle(), And Old <functional> Stuff.2014-11 (Urbana)|Complete|15
6`N4258 <https://wg21.link/N4258>`__Cleaning-up noexcept in the Library.2014-11 (Urbana)|Complete|21
7`N4259 <https://wg21.link/N4259>`__Wording for std::uncaught_exceptions2014-11 (Urbana)|Complete|3.7``std::uncaught_exception`` is deprecated since LLVM 20
8`N4277 <https://wg21.link/N4277>`__TriviallyCopyable ``reference_wrapper``\ .2014-11 (Urbana)|Complete|3.2
9`N4279 <https://wg21.link/N4279>`__Improved insertion interface for unique-key maps.2014-11 (Urbana)|Complete|3.7
10`N4280 <https://wg21.link/N4280>`__Non-member size() and more2014-11 (Urbana)|Complete|3.6
11`N4284 <https://wg21.link/N4284>`__Contiguous Iterators.2014-11 (Urbana)|Complete|3.6
12`N4285 <https://wg21.link/N4285>`__Cleanup for exception-specification and throw-expression.2014-11 (Urbana)|Complete|4
13
14`N4387 <https://wg21.link/N4387>`__improving pair and tuple2015-05 (Lenexa)|Complete|4
15`N4389 <https://wg21.link/N4389>`__bool_constant2015-05 (Lenexa)|Complete|3.7
16`N4508 <https://wg21.link/N4508>`__shared_mutex for C++172015-05 (Lenexa)|Complete|3.7
17`N4366 <https://wg21.link/N4366>`__LWG 2228 missing SFINAE rule2015-05 (Lenexa)|Complete|3.1
18`N4510 <https://wg21.link/N4510>`__Minimal incomplete type support for standard containers, revision 42015-05 (Lenexa)|Complete|3.6
19
20`P0004R1 <https://wg21.link/P0004R1>`__Remove Deprecated iostreams aliases.2015-10 (Kona)|Complete|3.8
21`P0006R0 <https://wg21.link/P0006R0>`__Adopt Type Traits Variable Templates for C++17.2015-10 (Kona)|Complete|3.8
22`P0092R1 <https://wg21.link/P0092R1>`__Polishing <chrono>2015-10 (Kona)|Complete|3.8
23`P0007R1 <https://wg21.link/P0007R1>`__Constant View: A proposal for a ``std::as_const``\ helper function template.2015-10 (Kona)|Complete|3.8
24`P0156R0 <https://wg21.link/P0156R0>`__Variadic lock_guard(rev 3).2015-10 (Kona)|Nothing To Do|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
26`P0013R1 <https://wg21.link/P0013R1>`__Logical type traits rev 22015-10 (Kona)|Complete|3.8
27
28`P0024R2 <https://wg21.link/P0024R2>`__The Parallelism TS Should be Standardized2016-02 (Jacksonville)|Partial|
29`P0226R1 <https://wg21.link/P0226R1>`__Mathematical Special Functions for C++172016-02 (Jacksonville)|In Progress|Progress is tracked `here <https://llvm.org/PR99939>`__
30`P0220R1 <https://wg21.link/P0220R1>`__Adopt Library Fundamentals V1 TS Components for C++172016-02 (Jacksonville)|Complete|16
31`P0218R1 <https://wg21.link/P0218R1>`__Adopt the File System TS for C++172016-02 (Jacksonville)|Complete|7
32`P0033R1 <https://wg21.link/P0033R1>`__Re-enabling shared_from_this2016-02 (Jacksonville)|Complete|3.9
33`P0005R4 <https://wg21.link/P0005R4>`__Adopt not_fn from Library Fundamentals 2 for C++172016-02 (Jacksonville)|Complete|3.9
34`P0152R1 <https://wg21.link/P0152R1>`__constexpr ``atomic::is_always_lock_free``\ 2016-02 (Jacksonville)|Complete|3.9
35`P0185R1 <https://wg21.link/P0185R1>`__Adding [nothrow-]swappable traits2016-02 (Jacksonville)|Complete|3.9
36`P0253R1 <https://wg21.link/P0253R1>`__Fixing a design mistake in the searchers interface2016-02 (Jacksonville)|Complete|3.9
37`P0025R0 <https://wg21.link/P0025R0>`__An algorithm to "clamp" a value between a pair of boundary values2016-02 (Jacksonville)|Complete|3.9
38`P0154R1 <https://wg21.link/P0154R1>`__constexpr std::hardware_{constructive,destructive}_interference_size2016-02 (Jacksonville)|Complete|19The 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
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
41`P0272R1 <https://wg21.link/P0272R1>`__Give ``std::string``\ a non-const ``.data()``\ member function2016-02 (Jacksonville)|Complete|3.9
42`P0077R2 <https://wg21.link/P0077R2>`__``is_callable``\ , the missing INVOKE related trait2016-02 (Jacksonville)|Complete|3.9
43
44`P0032R3 <https://wg21.link/P0032R3>`__Homogeneous interface for variant, any and optional2016-06 (Oulu)|Complete|4
45`P0040R3 <https://wg21.link/P0040R3>`__Extending memory management tools2016-06 (Oulu)|Complete|4
46`P0063R3 <https://wg21.link/P0063R3>`__C++17 should refer to C11 instead of C992016-06 (Oulu)|Complete|7
47`P0067R3 <https://wg21.link/P0067R3>`__Elementary string conversions2016-06 (Oulu)|Nothing To Do|n/aResolved by `P0067R5 <https://wg21.link/P0067R5>`__
48`P0083R3 <https://wg21.link/P0083R3>`__Splicing Maps and Sets2016-06 (Oulu)|Complete|8
49`P0084R2 <https://wg21.link/P0084R2>`__Emplace Return Type2016-06 (Oulu)|Complete|4
50`P0088R3 <https://wg21.link/P0088R3>`__Variant: a type-safe union for C++172016-06 (Oulu)|Complete|4
51`P0137R1 <https://wg21.link/P0137R1>`__Core Issue 1776: Replacement of class objects containing reference members2016-06 (Oulu)|Complete|6
52`P0163R0 <https://wg21.link/P0163R0>`__shared_ptr::weak_type2016-06 (Oulu)|Complete|3.9
53`P0174R2 <https://wg21.link/P0174R2>`__Deprecating Vestigial Library Parts in C++172016-06 (Oulu)|Complete|15
54`P0175R1 <https://wg21.link/P0175R1>`__Synopses for the C library2016-06 (Oulu)|Nothing To Do|n/a
55`P0180R2 <https://wg21.link/P0180R2>`__Reserve a New Library Namespace for Future Standardization2016-06 (Oulu)|Nothing To Do|n/a
56`P0181R1 <https://wg21.link/P0181R1>`__Ordered by Default2016-06 (Oulu)|Nothing To Do|n/aPulled at the 2017-01 meeting in Kona
57`P0209R2 <https://wg21.link/P0209R2>`__make_from_tuple: apply for construction2016-06 (Oulu)|Complete|3.9
58`P0219R1 <https://wg21.link/P0219R1>`__Relative Paths for Filesystem2016-06 (Oulu)|Complete|7
59`P0254R2 <https://wg21.link/P0254R2>`__Integrating std::string_view and std::string2016-06 (Oulu)|Complete|4
60`P0258R2 <https://wg21.link/P0258R2>`__has_unique_object_representations2016-06 (Oulu)|Complete|6
61`P0295R0 <https://wg21.link/P0295R0>`__Adopt Selected Library Fundamentals V2 Components for C++172016-06 (Oulu)|Complete|4
62`P0302R1 <https://wg21.link/P0302R1>`__Removing Allocator Support in std::function2016-06 (Oulu)|Complete|4
63`P0307R2 <https://wg21.link/P0307R2>`__Making Optional Greater Equal Again2016-06 (Oulu)|Complete|4
64`P0336R1 <https://wg21.link/P0336R1>`__Better Names for Parallel Execution Policies in C++172016-06 (Oulu)|Complete|17
65`P0337R0 <https://wg21.link/P0337R0>`__Delete ``operator=``\ for polymorphic_allocator2016-06 (Oulu)|Complete|3.9
66`P0346R1 <https://wg21.link/P0346R1>`__A <random> Nomenclature Tweak2016-06 (Oulu)|Complete|3.9
67`P0358R1 <https://wg21.link/P0358R1>`__Fixes for not_fn2016-06 (Oulu)|Complete|3.9
68`P0371R1 <https://wg21.link/P0371R1>`__Temporarily discourage memory_order_consume2016-06 (Oulu)|Nothing To Do|n/a
69`P0392R0 <https://wg21.link/P0392R0>`__Adapting string_view by filesystem paths2016-06 (Oulu)|Complete|4
70`P0393R3 <https://wg21.link/P0393R3>`__Making Variant Greater Equal2016-06 (Oulu)|Complete|4
71`P0394R4 <https://wg21.link/P0394R4>`__Hotel Parallelifornia: terminate() for Parallel Algorithms Exception Handling2016-06 (Oulu)|Complete|17
72
73`P0003R5 <https://wg21.link/P0003R5>`__Removing Deprecated Exception Specifications from C++172016-11 (Issaquah)|Complete|5
74`P0067R5 <https://wg21.link/P0067R5>`__Elementary string conversions, revision 52016-11 (Issaquah)|Partial|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
76`P0414R2 <https://wg21.link/P0414R2>`__Merging shared_ptr changes from Library Fundamentals to C++172016-11 (Issaquah)|Complete|11
77`P0418R2 <https://wg21.link/P0418R2>`__Fail or succeed: there is no atomic lattice2016-11 (Issaquah)
78`P0426R1 <https://wg21.link/P0426R1>`__Constexpr for ``std::char_traits``\ 2016-11 (Issaquah)|Complete|4
79`P0435R1 <https://wg21.link/P0435R1>`__Resolving LWG Issues re ``common_type``\ 2016-11 (Issaquah)|Complete|4
80`P0502R0 <https://wg21.link/P0502R0>`__Throwing out of a parallel algorithm terminates - but how?2016-11 (Issaquah)
81`P0503R0 <https://wg21.link/P0503R0>`__Correcting library usage of "literal type"2016-11 (Issaquah)|Complete|4
82`P0504R0 <https://wg21.link/P0504R0>`__Revisiting in-place tag types for any/optional/variant2016-11 (Issaquah)|Complete|4
83`P0505R0 <https://wg21.link/P0505R0>`__Wording for GB 50 - constexpr for chrono2016-11 (Issaquah)|Complete|4
84`P0508R0 <https://wg21.link/P0508R0>`__Wording for GB 58 - structured bindings for node_handles2016-11 (Issaquah)|Complete|7
85`P0509R1 <https://wg21.link/P0509R1>`__Updating "Restrictions on exception handling"2016-11 (Issaquah)|Nothing To Do|n/a
86`P0510R0 <https://wg21.link/P0510R0>`__Disallowing references, incomplete types, arrays, and empty variants2016-11 (Issaquah)|Complete|4
87`P0513R0 <https://wg21.link/P0513R0>`__Poisoning the Hash2016-11 (Issaquah)|Complete|5
88`P0516R0 <https://wg21.link/P0516R0>`__Clarify That shared_future's Copy Operations have Wide Contracts2016-11 (Issaquah)|Complete|4
89`P0517R0 <https://wg21.link/P0517R0>`__Make future_error Constructible2016-11 (Issaquah)|Complete|4
90`P0521R0 <https://wg21.link/P0521R0>`__Proposed Resolution for CA 14 (shared_ptr use_count/unique)2016-11 (Issaquah)|Complete|18
91
92`P0156R2 <https://wg21.link/P0156R2>`__Variadic Lock guard(rev 5)2017-02 (Kona)|Complete|5
93`P0270R3 <https://wg21.link/P0270R3>`__Removing C dependencies from signal handler wording2017-02 (Kona)|Nothing To Do|
94`P0298R3 <https://wg21.link/P0298R3>`__A byte type definition2017-02 (Kona)|Complete|5
95`P0317R1 <https://wg21.link/P0317R1>`__Directory Entry Caching for Filesystem2017-02 (Kona)|Complete|7
96`P0430R2 <https://wg21.link/P0430R2>`__File system library on non-POSIX-like operating systems2017-02 (Kona)|Complete|7
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
98`P0452R1 <https://wg21.link/P0452R1>`__Unifying <numeric> Parallel Algorithms2017-02 (Kona)|Partial|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|
100`P0492R2 <https://wg21.link/P0492R2>`__Proposed Resolution of C++17 National Body Comments for Filesystems2017-02 (Kona)|Complete|7
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|
102`P0523R1 <https://wg21.link/P0523R1>`__Wording for CH 10: Complexity of parallel algorithms2017-02 (Kona)|Nothing To Do|
103`P0548R1 <https://wg21.link/P0548R1>`__common_type and duration2017-02 (Kona)|Complete|5
104`P0558R1 <https://wg21.link/P0558R1>`__Resolving atomic<T> named base class inconsistencies2017-02 (Kona)|Complete|
105`P0574R1 <https://wg21.link/P0574R1>`__Algorithm Complexity Constraints and Parallel Overloads2017-02 (Kona)|Nothing To Do|
106`P0599R1 <https://wg21.link/P0599R1>`__noexcept for hash functions2017-02 (Kona)|Complete|5
107`P0604R0 <https://wg21.link/P0604R0>`__Resolving GB 55, US 84, US 85, US 862017-02 (Kona)|Complete|
108`P0607R0 <https://wg21.link/P0607R0>`__Inline Variables for the Standard Library2017-02 (Kona)|In Progress|6The parts of P0607 that are not done are the ``<regex>`` bits
109`P0618R0 <https://wg21.link/P0618R0>`__Deprecating <codecvt>2017-02 (Kona)|Complete|15
110`P0623R0 <https://wg21.link/P0623R0>`__Final C++17 Parallel Algorithms Fixes2017-02 (Kona)|Nothing To Do|
111
112`P0682R1 <https://wg21.link/P0682R1>`__Repairing elementary string conversions2017-07 (Toronto)
113`P0739R0 <https://wg21.link/P0739R0>`__Some improvements to class template argument deduction integration into the standard library2017-07 (Toronto)|Complete|5