llvm-project/libcxx/docs/Status
Konstantin Varlamov f9f97cae82 [libc++] P0433R2: add the remaining deduction guides.
Add deduction guides to `valarray` and `scoped_allocator_adaptor`. This largely
finishes implementation of the paper:

* deduction guides for other classes mentioned in the paper were
  implemented previously (see the list below);
* deduction guides for several classes contained in the proposal
  (`reference_wrapper`, `lock_guard`, `scoped_lock`, `unique_lock`,
  `shared_lock`) were removed by [LWG2981](https://wg21.link/LWG2981).

Also add deduction guides to the synopsis for the few classes (e.g. `pair`)
where they were missing.

The only part of the paper that isn't fully implemented after this patch is
making sure certain deduction guides don't participate in overload resolution
when given incorrect template parameters.

List of significant commits implementing the other parts of P0433 (omitting some
minor fixes):

* [pair](af65856eec)
* [basic_string](6d9f750dec)
* [array](0ca8c0895c)
* [deque](dbb6f8a817)
* [forward_list](e076700b77)
* [list](4a227e582b)
* [vector](df8f754792)
* [queue/stack/priority_queue](5b8b8b5dce)
* [basic_regex](edd5e29cfe)
* [optional](f35b4bc395)
* [map/multimap](edfe8525de)
* [set/multiset](e20865c387)
* [unordered_set/unordered_multiset](296a80102a)
* [unordered_map/unordered_multimap](dfcd4384cb)
* [function](e1eabcdfad)
* [tuple](1308011e1b)
* [shared_ptr/weak_ptr](83564056d4)

Additional notes:
* It was revision 2 of the paper that was voted into the Standard.
  P0433R3 is a separate paper that is not part of the Standard.
* The paper also mandates removing several `make_*_searcher` functions
  (e.g. `make_boyer_moore_searcher`) which are currently not implemented
  (except in `experimental/`).
* The `__cpp_lib_deduction_guides` feature test macro from the paper was
  accidentally omitted from the Standard.

Differential Revision: https://reviews.llvm.org/D112510
2021-10-28 11:09:51 -07:00
..
Cxx2b.rst [libc++][docs] Remove "Last Updated" entries from the docs 2021-09-02 13:02:49 -04:00
Cxx2bIssues.csv [libc++][NFC] Mark LWG2731 as complete 2021-10-26 13:46:00 -04:00
Cxx2bPapers.csv [libc++] Include revision numbers in the paper status lists 2021-10-25 10:55:35 -04:00
Cxx14.rst [libc++][docs] Remove "Last Updated" entries from the docs 2021-09-02 13:02:49 -04:00
Cxx14Issues.csv
Cxx14Papers.csv
Cxx17.rst [libc++] P0433R2: add the remaining deduction guides. 2021-10-28 11:09:51 -07:00
Cxx17Issues.csv [libc++][NFC] Update status of old issue LWG2560 -- we implement it properly 2021-09-24 14:22:09 -04:00
Cxx17Papers.csv [libc++] Update atomic synopsis and tests. 2021-10-12 17:28:08 +02:00
Cxx20.rst [libc++][docs] Remove "Last Updated" entries from the docs 2021-09-02 13:02:49 -04:00
Cxx20Issues.csv [libc++] P0433R2: add the remaining deduction guides. 2021-10-28 11:09:51 -07:00
Cxx20Papers.csv [libc++] Include revision numbers in the paper status lists 2021-10-25 10:55:35 -04:00
Format.rst [libc++][format] Add __format_arg_store. 2021-09-01 19:45:02 +02:00
FormatIssues.csv [libc++][doc] Use issue labels. 2021-10-15 17:30:33 +02:00
FormatPaper.csv [libc++][doc] Update format status. 2021-10-09 13:28:38 +02:00
Ranges.rst
RangesIssues.csv [libc++][doc] Use issue labels. 2021-10-15 17:30:33 +02:00
RangesPaper.csv [libc++][NFC] Add missing link to a ranges review 2021-09-24 11:37:38 -04:00
Spaceship.rst [libc++] [doc] Add issue tracking for spaceship operator<=> implementation 2021-08-19 23:13:44 +00:00
SpaceshipPapers.csv [libc++] [doc] Add issue tracking for spaceship operator<=> implementation 2021-08-19 23:13:44 +00:00
SpaceshipProjects.csv [libc++] [P1614] Implement std::compare_three_way. 2021-10-10 21:57:10 -04:00