llvm-project/libcxx/docs/Status/RangesIssues.csv
Mark de Wever 352c3af3ab [libc++][doc] Update paper status.
Update the status with the approved papers and LWG-issues in the October 2021 plenary.

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D111166
2021-10-08 20:22:44 +02:00

9.2 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
5`P1243R4 <https://wg21.link/P1243R4>`__Rangify New Algorithms
6`P1248R1 <https://wg21.link/P1248R1>`__Fixing Relations
7`P1252R2 <https://wg21.link/P1252R2>`__Ranges Design Cleanup
8`P1391R4 <https://wg21.link/P1391R4>`__Range Constructor For string_view
9`P1456R1 <https://wg21.link/P1456R1>`__Move-Only Views
10`P1474R1 <https://wg21.link/P1474R1>`__Helpful Pointers For contiguous_iterator
11`P1522R1 <https://wg21.link/P1522R1>`__Iterator Difference Type And Integer Overflow
12`P1523R1 <https://wg21.link/P1523R1>`__Views And Size Types
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
16`P1862R1 <https://wg21.link/P1862R1>`__Range Adaptors For Non-Copyable Iterators
17`P1870R1 <https://wg21.link/P1870R1>`__safe_range
18`P1871R1 <https://wg21.link/P1871R1>`__disable_sized_sentinel_for
19`P1878R1 <https://wg21.link/P1878R1>`__Constraining Readable Types
20`P1970R2 <https://wg21.link/P1970R2>`__ranges::ssize
21`P1983R0 <https://wg21.link/P1983R0>`__Fixing Minor Ranges Issues
22`P1994R1 <https://wg21.link/P1994R1>`__elements_view Needs Its Own sentinel
23`P2091R0 <https://wg21.link/P2091R0>`__Fixing Issues With Range Access CPOs
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
27`P2210R2 <https://wg21.link/P2210R2>`__Superior String Splitting
28`P2281R1 <https://wg21.link/P2281R1>`__Clarifying range adaptor objects
29`P2367R0 <https://wg21.link/P2367R0>`__Remove misuses of list-initialization from Clause 24
30`P2415 <https://wg21.link/P2415>`__What is a ``view``
31`P2432 <https://wg21.link/P2432>`__Fix ``istream_view``
32`LWG3169 <https://wg21.link/lwg3169>`__ranges permutation generators discard useful information
33`LWG3173 <https://wg21.link/lwg3173>`__Enable CTAD for ref-view
34`LWG3179 <https://wg21.link/lwg3179>`__subrange should always model Range
35`LWG3180 <https://wg21.link/lwg3180>`__Inconsistently named return type for ranges::minmax_element
36`LWG3183 <https://wg21.link/lwg3183>`__Normative permission to specialize Ranges variable templates
37`LWG3186 <https://wg21.link/lwg3186>`__ranges removal, partition, and partial_sort_copy algorithms discard useful information
38`LWG3191 <https://wg21.link/lwg3191>`__std::ranges::shuffle synopsis does not match algorithm definition
39`LWG3276 <https://wg21.link/lwg3276>`__Class split_view::outer_iterator::value_type should inherit from view_interface
40`LWG3280 <https://wg21.link/lwg3280>`__View converting constructors can cause constraint recursion and are unneeded
41`LWG3281 <https://wg21.link/lwg3281>`__Conversion from pair-like types to subrange is a silent semantic promotion
42`LWG3282 <https://wg21.link/lwg3282>`__subrange converting constructor should disallow derived to base conversions
43`LWG3286 <https://wg21.link/lwg3286>`__ranges::size is not required to be valid after a call to ranges::begin on an input range
44`LWG3291 <https://wg21.link/lwg3291>`__iota_view::iterator has the wrong iterator_category
45`LWG3292 <https://wg21.link/lwg3292>`__iota_view is under-constrained
46`LWG3299 <https://wg21.link/lwg3299>`__Pointers don't need customized iterator behavior
47`LWG3301 <https://wg21.link/lwg3301>`__transform_view::iterator has incorrect iterator_category
48`LWG3302 <https://wg21.link/lwg3302>`__Range adaptor objects keys and values are unspecified
49`LWG3313 <https://wg21.link/lwg3313>`__join_view::iterator::operator-- is incorrectly constrained
50`LWG3323 <https://wg21.link/lwg3323>`__has-tuple-element helper concept needs convertible_to
51`LWG3325 <https://wg21.link/lwg3325>`__Constrain return type of transformation function for transform_view
52`LWG3335 <https://wg21.link/lwg3335>`__range_size_t and views::all_t
53`LWG3355 <https://wg21.link/lwg3355>`__The memory algorithms should support move-only input iterators introduced by P1207
54`LWG3363 <https://wg21.link/lwg3363>`__drop_while_view should opt-out of sized_range
55`LWG3364 <https://wg21.link/lwg3364>`__Initialize data members of ranges and their iterators
56`LWG3381 <https://wg21.link/lwg3381>`__begin and data must agree for contiguous_range
57`LWG3384 <https://wg21.link/lwg3384>`__transform_view::sentinel has an incorrect operator-
58`LWG3385 <https://wg21.link/lwg3385>`__common_iterator is not sufficiently constrained for non-copyable iterators
59`LWG3387 <https://wg21.link/lwg3387>`__[range.reverse.view] reverse_view<V> unintentionally requires range<const V>
60`LWG3388 <https://wg21.link/lwg3388>`__view iterator types have ill-formed <=> operators
61`LWG3389 <https://wg21.link/lwg3389>`__A move-only iterator still does not have a counted_iterator
62`LWG3397 <https://wg21.link/lwg3397>`__ranges::basic_istream_view::iterator should not provide iterator_category
63`LWG3398 <https://wg21.link/lwg3398>`__tuple_element_t is also wrong for const subrange
64`LWG3474 <https://wg21.link/lwg3474>`__Nesting join_views is broken because of CTAD
65`LWG3481 <https://wg21.link/LWG3481>`__viewable_range mishandles lvalue move-only views
66`LWG3500 <https://wg21.link/lwg3500>`__join_view::iterator::operator->() is bogus
67`LWG3505 <https://wg21.link/lwg3505>`__split_view::outer-iterator::operator++ misspecified
68`LWG3517 <https://wg21.link/LWG3517>`__join_view::iterator's iter_swap is underconstrained
69`LWG3520 <https://wg21.link/LWG3520>`__iter_move and iter_swap are inconsistent for transform_view::iterator
70`LWG3522 <https://wg21.link/LWG3522>`__Missing requirement on InputIterator template parameter for priority_queue constructors|Complete|14.0
71`LWG3523 <https://wg21.link/LWG3523>`__iota_view::sentinel is not always iota_view's sentinel
72`LWG3532 <https://wg21.link/LWG3532>`__split_view<V, P>::inner-iterator<true>::operator++(int) should depend on Base
73`LWG3533 <https://wg21.link/LWG3533>`__Make base() const & consistent across iterator wrappers that supports input_iterators
74`LWG3541 <https://wg21.link/LWG3541>`__indirectly_readable_traits should be SFINAE-friendly for all types
75`LWG3543 <https://wg21.link/LWG3543>`__Definition of when counted_iterators refer to the same sequence isn't quite right
76`LWG3546 <https://wg21.link/LWG3546>`__common_iterator's postfix-proxy is not quite right
77`LWG3549 <https://wg21.link/LWG3549>`__view_interface is overspecified to derive from view_base
78`LWG3551 <https://wg21.link/LWG3551>`__borrowed_{iterator,subrange}_t are overspecified
79`LWG3553 <https://wg21.link/LWG3553>`__Useless constraint in split_view::outer-iterator::value_type::begin()
80`LWG3555 <https://wg21.link/LWG3555>`__{transform,elements}_view::iterator::iterator_concept should consider const-qualification of the underlying range
81`LWG3361 <https://wg21.link/LWG3361>`__``safe_range<SomeRange&>`` case
82`LWG3392 <https://wg21.link/LWG3392>`__``ranges::distance()`` cannot be used on a move-only iterator with a sized sentinel
83`LWG3407 <https://wg21.link/LWG3407>`__Some problems with the wording changes of P1739R4
84`LWG3470 <https://wg21.link/LWG3470>`__``convertible-to-non-slicing`` seems to reject valid case
85`LWG3480 <https://wg21.link/LWG3480>`__``directory_iterator`` and ``recursive_directory_iterator`` are not C++20 ranges
86`LWG3535 <https://wg21.link/LWG3535>`__``join_view::iterator::iterator_category`` and ``::iterator_concept`` lie
87`LWG3559 <https://wg21.link/LWG3559>`__Semantic requirements of ``sized_range`` is circular
88`LWG3560 <https://wg21.link/LWG3560>`__``ranges::equal`` and ``ranges::is_permutation`` should short-circuit for ``sized_ranges``
89`LWG3563 <https://wg21.link/LWG3563>`__``keys_view`` example is broken
90`LWG3568 <https://wg21.link/LWG3568>`__``basic_istream_view`` needs to initialize ``value_``
91`LWG3572 <https://wg21.link/LWG3572>`__``copyable-box`` should be fully ``constexpr``
92`LWG3580 <https://wg21.link/LWG3580>`__``iota_view``'s ``iterator``'s binary ``operator+`` should be improved
93`LWG3581 <https://wg21.link/LWG3581>`__The range constructor makes ``basic_string_view`` not trivially move constructible
94`LWG3589 <https://wg21.link/LWG3589>`__The ``const`` lvalue reference overload of ``get`` for ``subrange`` does not constrain ``I`` to be ``copyable`` when ``N == 0``
95`LWG3590 <https://wg21.link/LWG3590>`__``split_view::base() const &`` is overconstrained
96`LWG3591 <https://wg21.link/LWG3591>`__``lazy_split_view<input_view>::inner-iterator::base() &&`` invalidates outer iterators
97`LWG3592 <https://wg21.link/LWG3592>`__``lazy_split_view`` needs to check the simpleness of Pattern
98`LWG3593 <https://wg21.link/LWG3593>`__Several iterators' ``base() const &`` and ``lazy_split_view::outer-iterator::value_type::end()`` missing ``noexcept``