Arthur O'Dwyer | 4e06bc8 | 2021-03-02 00:23:21 -0500 | [diff] [blame] | 1 | "Number","Name","Status","First released version" |
Zoe Carver | a720e2c | 2021-04-13 17:56:55 -0700 | [diff] [blame] | 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,, |
Corentin Jabot | c346e8a | 2021-07-01 04:26:55 +0000 | [diff] [blame] | 25 | |
| 26 | `P2325R3 <https://wg21.link/P2325R3>`__,Views should not be required to be default constructible ,, |
| 27 | `P2328R1 <https://wg21.link/P2328R1>`__,join_view should join all views of ranges,, |
| 28 | `P2210R2 <https://wg21.link/P2210R2>`__,Superior String Splitting,, |
| 29 | `P2281R1 <https://wg21.link/P2281R1>`__,Clarifying range adaptor objects,, |
| 30 | `P2367R0 <https://wg21.link/P2367R0>`__,Remove misuses of list-initialization from Clause 24,, |
| 31 | |
Mark de Wever | 23e0141 | 2021-10-05 18:18:16 +0200 | [diff] [blame^] | 32 | `P2415 <https://wg21.link/P2415>`__,"What is a ``view``",, |
| 33 | `P2432 <https://wg21.link/P2432>`__,"Fix ``istream_view``",, |
| 34 | |
Christopher Di Bella | 215e4af | 2021-06-22 18:58:30 +0000 | [diff] [blame] | 35 | `LWG3169 <https://wg21.link/lwg3169>`__, ranges permutation generators discard useful information,, |
| 36 | `LWG3173 <https://wg21.link/lwg3173>`__, Enable CTAD for ref-view,, |
| 37 | `LWG3179 <https://wg21.link/lwg3179>`__, subrange should always model Range,, |
| 38 | `LWG3180 <https://wg21.link/lwg3180>`__, Inconsistently named return type for ranges::minmax_element,, |
| 39 | `LWG3183 <https://wg21.link/lwg3183>`__, Normative permission to specialize Ranges variable templates,, |
Corentin Jabot | c346e8a | 2021-07-01 04:26:55 +0000 | [diff] [blame] | 40 | `LWG3186 <https://wg21.link/lwg3186>`__, "ranges removal, partition, and partial_sort_copy algorithms discard useful information",, |
Christopher Di Bella | 215e4af | 2021-06-22 18:58:30 +0000 | [diff] [blame] | 41 | `LWG3191 <https://wg21.link/lwg3191>`__, std::ranges::shuffle synopsis does not match algorithm definition,, |
| 42 | `LWG3276 <https://wg21.link/lwg3276>`__, Class split_view::outer_iterator::value_type should inherit from view_interface,, |
| 43 | `LWG3280 <https://wg21.link/lwg3280>`__, View converting constructors can cause constraint recursion and are unneeded,, |
| 44 | `LWG3281 <https://wg21.link/lwg3281>`__, Conversion from pair-like types to subrange is a silent semantic promotion,, |
| 45 | `LWG3282 <https://wg21.link/lwg3282>`__, subrange converting constructor should disallow derived to base conversions,, |
| 46 | `LWG3286 <https://wg21.link/lwg3286>`__, ranges::size is not required to be valid after a call to ranges::begin on an input range,, |
| 47 | `LWG3291 <https://wg21.link/lwg3291>`__, iota_view::iterator has the wrong iterator_category,, |
| 48 | `LWG3292 <https://wg21.link/lwg3292>`__, iota_view is under-constrained,, |
| 49 | `LWG3299 <https://wg21.link/lwg3299>`__, Pointers don't need customized iterator behavior,, |
| 50 | `LWG3301 <https://wg21.link/lwg3301>`__, transform_view::iterator has incorrect iterator_category,, |
| 51 | `LWG3302 <https://wg21.link/lwg3302>`__, Range adaptor objects keys and values are unspecified,, |
| 52 | `LWG3313 <https://wg21.link/lwg3313>`__, join_view::iterator::operator-- is incorrectly constrained,, |
| 53 | `LWG3323 <https://wg21.link/lwg3323>`__, has-tuple-element helper concept needs convertible_to,, |
| 54 | `LWG3325 <https://wg21.link/lwg3325>`__, Constrain return type of transformation function for transform_view,, |
| 55 | `LWG3335 <https://wg21.link/lwg3335>`__, range_size_t and views::all_t,, |
| 56 | `LWG3355 <https://wg21.link/lwg3355>`__, The memory algorithms should support move-only input iterators introduced by P1207,, |
| 57 | `LWG3363 <https://wg21.link/lwg3363>`__, drop_while_view should opt-out of sized_range,, |
| 58 | `LWG3364 <https://wg21.link/lwg3364>`__, Initialize data members of ranges and their iterators,, |
| 59 | `LWG3381 <https://wg21.link/lwg3381>`__, begin and data must agree for contiguous_range,, |
| 60 | `LWG3384 <https://wg21.link/lwg3384>`__, transform_view::sentinel has an incorrect operator-,, |
| 61 | `LWG3385 <https://wg21.link/lwg3385>`__, common_iterator is not sufficiently constrained for non-copyable iterators,, |
| 62 | `LWG3387 <https://wg21.link/lwg3387>`__, [range.reverse.view] reverse_view<V> unintentionally requires range<const V>,, |
| 63 | `LWG3388 <https://wg21.link/lwg3388>`__, view iterator types have ill-formed <=> operators,, |
| 64 | `LWG3389 <https://wg21.link/lwg3389>`__, A move-only iterator still does not have a counted_iterator,, |
| 65 | `LWG3397 <https://wg21.link/lwg3397>`__, ranges::basic_istream_view::iterator should not provide iterator_category,, |
| 66 | `LWG3398 <https://wg21.link/lwg3398>`__, tuple_element_t is also wrong for const subrange,, |
| 67 | `LWG3474 <https://wg21.link/lwg3474>`__, Nesting join_views is broken because of CTAD,, |
Mark de Wever | 04ee090 | 2021-07-22 08:04:48 +0200 | [diff] [blame] | 68 | `LWG3481 <https://wg21.link/LWG3481>`__,"viewable_range mishandles lvalue move-only views",, |
Christopher Di Bella | 215e4af | 2021-06-22 18:58:30 +0000 | [diff] [blame] | 69 | `LWG3500 <https://wg21.link/lwg3500>`__, join_view::iterator::operator->() is bogus,, |
| 70 | `LWG3505 <https://wg21.link/lwg3505>`__, split_view::outer-iterator::operator++ misspecified,, |
Mark de Wever | 04ee090 | 2021-07-22 08:04:48 +0200 | [diff] [blame] | 71 | `LWG3517 <https://wg21.link/LWG3517>`__,"join_view::iterator's iter_swap is underconstrained",, |
| 72 | `LWG3520 <https://wg21.link/LWG3520>`__,"iter_move and iter_swap are inconsistent for transform_view::iterator",, |
Arthur O'Dwyer | 4e06bc8 | 2021-03-02 00:23:21 -0500 | [diff] [blame] | 73 | `LWG3522 <https://wg21.link/LWG3522>`__,"Missing requirement on InputIterator template parameter for priority_queue constructors","|Complete|","14.0" |
Mark de Wever | 04ee090 | 2021-07-22 08:04:48 +0200 | [diff] [blame] | 74 | `LWG3523 <https://wg21.link/LWG3523>`__,"iota_view::sentinel is not always iota_view's sentinel",, |
| 75 | `LWG3532 <https://wg21.link/LWG3532>`__,"split_view<V, P>::inner-iterator<true>::operator++(int) should depend on Base",, |
| 76 | `LWG3533 <https://wg21.link/LWG3533>`__,"Make base() const & consistent across iterator wrappers that supports input_iterators",, |
| 77 | `LWG3541 <https://wg21.link/LWG3541>`__,"indirectly_readable_traits should be SFINAE-friendly for all types",, |
| 78 | `LWG3543 <https://wg21.link/LWG3543>`__,"Definition of when counted_iterators refer to the same sequence isn't quite right",, |
| 79 | `LWG3546 <https://wg21.link/LWG3546>`__,"common_iterator's postfix-proxy is not quite right",, |
| 80 | `LWG3549 <https://wg21.link/LWG3549>`__,"view_interface is overspecified to derive from view_base",, |
| 81 | `LWG3551 <https://wg21.link/LWG3551>`__,"borrowed_{iterator,subrange}_t are overspecified",, |
| 82 | `LWG3553 <https://wg21.link/LWG3553>`__,"Useless constraint in split_view::outer-iterator::value_type::begin()",, |
| 83 | `LWG3555 <https://wg21.link/LWG3555>`__,"{transform,elements}_view::iterator::iterator_concept should consider const-qualification of the underlying range",, |
Mark de Wever | 23e0141 | 2021-10-05 18:18:16 +0200 | [diff] [blame^] | 84 | `LWG3361 <https://wg21.link/LWG3361>`__,"``safe_range<SomeRange&>`` case",, |
| 85 | `LWG3392 <https://wg21.link/LWG3392>`__,"``ranges::distance()`` cannot be used on a move-only iterator with a sized sentinel",, |
| 86 | `LWG3407 <https://wg21.link/LWG3407>`__,"Some problems with the wording changes of P1739R4",, |
| 87 | `LWG3470 <https://wg21.link/LWG3470>`__,"``convertible-to-non-slicing`` seems to reject valid case",, |
| 88 | `LWG3480 <https://wg21.link/LWG3480>`__,"``directory_iterator`` and ``recursive_directory_iterator`` are not C++20 ranges",, |
| 89 | `LWG3535 <https://wg21.link/LWG3535>`__,"``join_view::iterator::iterator_category`` and ``::iterator_concept`` lie",, |
| 90 | `LWG3559 <https://wg21.link/LWG3559>`__,"Semantic requirements of ``sized_range`` is circular",, |
| 91 | `LWG3560 <https://wg21.link/LWG3560>`__,"``ranges::equal`` and ``ranges::is_permutation`` should short-circuit for ``sized_ranges``",, |
| 92 | `LWG3563 <https://wg21.link/LWG3563>`__,"``keys_view`` example is broken",, |
| 93 | `LWG3568 <https://wg21.link/LWG3568>`__,"``basic_istream_view`` needs to initialize ``value_``",, |
| 94 | `LWG3572 <https://wg21.link/LWG3572>`__,"``copyable-box`` should be fully ``constexpr``",, |
| 95 | `LWG3580 <https://wg21.link/LWG3580>`__,"``iota_view``'s ``iterator``'s binary ``operator+`` should be improved",, |
| 96 | `LWG3581 <https://wg21.link/LWG3581>`__,"The range constructor makes ``basic_string_view`` not trivially move constructible",, |
| 97 | `LWG3589 <https://wg21.link/LWG3589>`__,"The ``const`` lvalue reference overload of ``get`` for ``subrange`` does not constrain ``I`` to be ``copyable`` when ``N == 0``",, |
| 98 | `LWG3590 <https://wg21.link/LWG3590>`__,"``split_view::base() const &`` is overconstrained",, |
| 99 | `LWG3591 <https://wg21.link/LWG3591>`__,"``lazy_split_view<input_view>::inner-iterator::base() &&`` invalidates outer iterators",, |
| 100 | `LWG3592 <https://wg21.link/LWG3592>`__,"``lazy_split_view`` needs to check the simpleness of Pattern",, |
| 101 | `LWG3593 <https://wg21.link/LWG3593>`__,"Several iterators' ``base() const &`` and ``lazy_split_view::outer-iterator::value_type::end()`` missing ``noexcept``",, |