Files
clang-p2996/libcxx/docs/Status/RangesIssues.csv
Konstantin Varlamov 79a2b4ba98 [libc++][ranges] Finish LWG issues directly related to the One Ranges Proposal.
- P1252 ("Ranges Design Cleanup") -- deprecate
  `move_iterator::operator->` starting from C++20; add range comparisons
  to the `<functional>` synopsis. This restores
  `move_iterator::operator->` that was incorrectly deleted in D117656;
  it's still defined in the latest draft, see
  http://eel.is/c++draft/depr.move.iter.elem. Note that changes to
  `*_result` types from 6.1 in the paper are no longer relevant now that
  these types are aliases;
- P2106 ("Alternative wording for GB315 and GB316") -- add a few
  `*_result` types to the synopsis in `<algorithm>` (some algorithms are
  not implemented yet and thus some of the proposal still cannot be
  marked as done);

Also mark already done issues as done (or as nothing to do):
- P2091 ("Fixing Issues With Range Access CPOs") was already implemented
  (this patch adds tests for some ill-formed cases);
- LWG 3247 ("`ranges::iter_move` should perform ADL-only lookup of
  `iter_move`") was already implemented;
- LWG 3300 ("Non-array ssize overload is underconstrained") doesn't
  affect the implementation;
- LWG 3335 ("Resolve C++20 NB comments US 273 and GB 274") was already
  implemented;
- LWG 3355 ("The memory algorithms should support move-only input
  iterators introduced by P1207") was already implemented (except for
  testing).

Differential Revision: https://reviews.llvm.org/D126053
2022-06-28 12:00:15 -07:00

2.5 KiB

1NumberNameStatusFirst released version
2`P0896R4 <https://wg21.link/P0896R4>`__<ranges>
3`P1035R7 <https://wg21.link/P1035R7>`__Input Range Adaptors
4`P1207R4 <https://wg21.link/P1207R4>`__Movability Of Single-Pass Iterators|Complete|15.0
5`P1243R4 <https://wg21.link/P1243R4>`__Rangify New Algorithms
6`P1248R1 <https://wg21.link/P1248R1>`__Fixing Relations|Complete|13.0
7`P1252R2 <https://wg21.link/P1252R2>`__Ranges Design Cleanup
8`P1391R4 <https://wg21.link/P1391R4>`__Range Constructor For string_view|Complete|14.0
9`P1456R1 <https://wg21.link/P1456R1>`__Move-Only Views|Complete|15.0
10`P1474R1 <https://wg21.link/P1474R1>`__Helpful Pointers For contiguous_iterator|Complete|15.0
11`P1522R1 <https://wg21.link/P1522R1>`__Iterator Difference Type And Integer Overflow|Complete|15.0
12`P1523R1 <https://wg21.link/P1523R1>`__Views And Size Types|Complete|15.0
13`P1638R1 <https://wg21.link/P1638R1>`__basic_istream_view::iterator Should Not Be Copyable
14`P1716R3 <https://wg21.link/P1716R3>`__Range Comparison Algorithms Are Over-Constrained
15`P1739R4 <https://wg21.link/P1739R4>`__Avoiding Template Bloat For Ranges|Complete|15.0
16`P1862R1 <https://wg21.link/P1862R1>`__Range Adaptors For Non-Copyable Iterators
17`P1870R1 <https://wg21.link/P1870R1>`__forwarding-range<T> is too subtle|Complete|15.0
18`P1871R1 <https://wg21.link/P1871R1>`__disable_sized_sentinel_for|Complete|14.0
19`P1878R1 <https://wg21.link/P1878R1>`__Constraining Readable Types|Complete|15.0
20`P1970R2 <https://wg21.link/P1970R2>`__Consistency for size() functions: Add ranges::ssize|Complete|15.0
21`P1983R0 <https://wg21.link/P1983R0>`__Wording for GB301, US296, US292, US291, and US283|Complete|15.0
22`P1994R1 <https://wg21.link/P1994R1>`__elements_view Needs Its Own sentinel
23`P2091R0 <https://wg21.link/P2091R0>`__Fixing Issues With Range Access CPOs|Complete|15.0
24`P2106R0 <https://wg21.link/P2106R0>`__Range Algorithm Result Types
25`P2325R3 <https://wg21.link/P2325R3>`__Views should not be required to be default constructible
26`P2328R1 <https://wg21.link/P2328R1>`__join_view should join all views of ranges|Complete|14.0
27`P2210R2 <https://wg21.link/P2210R2>`__Superior String Splitting
28`P2281R1 <https://wg21.link/P2281R1>`__Clarifying range adaptor objects|Complete|14.0
29`P2367R0 <https://wg21.link/P2367R0>`__Remove misuses of list-initialization from Clause 24
30`P2415 <https://wg21.link/P2415>`__What is a ``view``|Complete|14.0
31`P2432 <https://wg21.link/P2432>`__Fix ``istream_view``