blob: 58367d752d4fee1c21c3423b7f60acf23294e8af [file] [log] [blame]
"Number","Name","Status","First released version"
`P0896R4 <https://wg21.link/P0896R4>`__,<ranges>,,
`P1035R7 <https://wg21.link/P1035R7>`__,Input Range Adaptors,,
`P1207R4 <https://wg21.link/P1207R4>`__,Movability Of Single-Pass Iterators,,
`P1243R4 <https://wg21.link/P1243R4>`__,Rangify New Algorithms,,
`P1248R1 <https://wg21.link/P1248R1>`__,Fixing Relations,,
`P1252R2 <https://wg21.link/P1252R2>`__,Ranges Design Cleanup,,
`P1391R4 <https://wg21.link/P1391R4>`__,Range Constructor For string_view,,
`P1456R1 <https://wg21.link/P1456R1>`__,Move-Only Views,,
`P1474R1 <https://wg21.link/P1474R1>`__,Helpful Pointers For contiguous_iterator,,
`P1522R1 <https://wg21.link/P1522R1>`__,Iterator Difference Type And Integer Overflow,,
`P1523R1 <https://wg21.link/P1523R1>`__,Views And Size Types,,
`P1638R1 <https://wg21.link/P1638R1>`__,basic_istream_view::iterator Should Not Be Copyable,,
`P1716R3 <https://wg21.link/P1716R3>`__,Range Comparison Algorithms Are Over-Constrained,,
`P1739R4 <https://wg21.link/P1739R4>`__,Avoiding Template Bloat For Ranges,,
`P1862R1 <https://wg21.link/P1862R1>`__,Range Adaptors For Non-Copyable Iterators,,
`P1870R1 <https://wg21.link/P1870R1>`__,safe_range,,
`P1871R1 <https://wg21.link/P1871R1>`__,disable_sized_sentinel_for,,
`P1878R1 <https://wg21.link/P1878R1>`__,Constraining Readable Types,,
`P1970R2 <https://wg21.link/P1970R2>`__,ranges::ssize,,
`P1983R0 <https://wg21.link/P1983R0>`__,Fixing Minor Ranges Issues,,
`P1994R1 <https://wg21.link/P1994R1>`__,elements_view Needs Its Own sentinel,,
`P2091R0 <https://wg21.link/P2091R0>`__,Fixing Issues With Range Access CPOs,,
`P2106R0 <https://wg21.link/P2106R0>`__,Range Algorithm Result Types,,
`P2325R3 <https://wg21.link/P2325R3>`__,Views should not be required to be default constructible ,,
`P2328R1 <https://wg21.link/P2328R1>`__,join_view should join all views of ranges,,
`P2210R2 <https://wg21.link/P2210R2>`__,Superior String Splitting,,
`P2281R1 <https://wg21.link/P2281R1>`__,Clarifying range adaptor objects,,
`P2367R0 <https://wg21.link/P2367R0>`__,Remove misuses of list-initialization from Clause 24,,
`P2415 <https://wg21.link/P2415>`__,"What is a ``view``",,
`P2432 <https://wg21.link/P2432>`__,"Fix ``istream_view``",,
`LWG3169 <https://wg21.link/lwg3169>`__, ranges permutation generators discard useful information,,
`LWG3173 <https://wg21.link/lwg3173>`__, Enable CTAD for ref-view,,
`LWG3179 <https://wg21.link/lwg3179>`__, subrange should always model Range,,
`LWG3180 <https://wg21.link/lwg3180>`__, Inconsistently named return type for ranges::minmax_element,,
`LWG3183 <https://wg21.link/lwg3183>`__, Normative permission to specialize Ranges variable templates,,
`LWG3186 <https://wg21.link/lwg3186>`__, "ranges removal, partition, and partial_sort_copy algorithms discard useful information",,
`LWG3191 <https://wg21.link/lwg3191>`__, std::ranges::shuffle synopsis does not match algorithm definition,,
`LWG3276 <https://wg21.link/lwg3276>`__, Class split_view::outer_iterator::value_type should inherit from view_interface,,
`LWG3280 <https://wg21.link/lwg3280>`__, View converting constructors can cause constraint recursion and are unneeded,,
`LWG3281 <https://wg21.link/lwg3281>`__, Conversion from pair-like types to subrange is a silent semantic promotion,,
`LWG3282 <https://wg21.link/lwg3282>`__, subrange converting constructor should disallow derived to base conversions,,
`LWG3286 <https://wg21.link/lwg3286>`__, ranges::size is not required to be valid after a call to ranges::begin on an input range,,
`LWG3291 <https://wg21.link/lwg3291>`__, iota_view::iterator has the wrong iterator_category,,
`LWG3292 <https://wg21.link/lwg3292>`__, iota_view is under-constrained,,
`LWG3299 <https://wg21.link/lwg3299>`__, Pointers don't need customized iterator behavior,,
`LWG3301 <https://wg21.link/lwg3301>`__, transform_view::iterator has incorrect iterator_category,,
`LWG3302 <https://wg21.link/lwg3302>`__, Range adaptor objects keys and values are unspecified,,
`LWG3313 <https://wg21.link/lwg3313>`__, join_view::iterator::operator-- is incorrectly constrained,,
`LWG3323 <https://wg21.link/lwg3323>`__, has-tuple-element helper concept needs convertible_to,,
`LWG3325 <https://wg21.link/lwg3325>`__, Constrain return type of transformation function for transform_view,,
`LWG3335 <https://wg21.link/lwg3335>`__, range_size_t and views::all_t,,
`LWG3355 <https://wg21.link/lwg3355>`__, The memory algorithms should support move-only input iterators introduced by P1207,,
`LWG3363 <https://wg21.link/lwg3363>`__, drop_while_view should opt-out of sized_range,,
`LWG3364 <https://wg21.link/lwg3364>`__, Initialize data members of ranges and their iterators,,
`LWG3381 <https://wg21.link/lwg3381>`__, begin and data must agree for contiguous_range,,
`LWG3384 <https://wg21.link/lwg3384>`__, transform_view::sentinel has an incorrect operator-,,
`LWG3385 <https://wg21.link/lwg3385>`__, common_iterator is not sufficiently constrained for non-copyable iterators,,
`LWG3387 <https://wg21.link/lwg3387>`__, [range.reverse.view] reverse_view<V> unintentionally requires range<const V>,,
`LWG3388 <https://wg21.link/lwg3388>`__, view iterator types have ill-formed <=> operators,,
`LWG3389 <https://wg21.link/lwg3389>`__, A move-only iterator still does not have a counted_iterator,,
`LWG3397 <https://wg21.link/lwg3397>`__, ranges::basic_istream_view::iterator should not provide iterator_category,,
`LWG3398 <https://wg21.link/lwg3398>`__, tuple_element_t is also wrong for const subrange,,
`LWG3474 <https://wg21.link/lwg3474>`__, Nesting join_views is broken because of CTAD,,
`LWG3481 <https://wg21.link/LWG3481>`__,"viewable_range mishandles lvalue move-only views",,
`LWG3500 <https://wg21.link/lwg3500>`__, join_view::iterator::operator->() is bogus,,
`LWG3505 <https://wg21.link/lwg3505>`__, split_view::outer-iterator::operator++ misspecified,,
`LWG3517 <https://wg21.link/LWG3517>`__,"join_view::iterator's iter_swap is underconstrained",,
`LWG3520 <https://wg21.link/LWG3520>`__,"iter_move and iter_swap are inconsistent for transform_view::iterator",,
`LWG3522 <https://wg21.link/LWG3522>`__,"Missing requirement on InputIterator template parameter for priority_queue constructors","|Complete|","14.0"
`LWG3523 <https://wg21.link/LWG3523>`__,"iota_view::sentinel is not always iota_view's sentinel",,
`LWG3532 <https://wg21.link/LWG3532>`__,"split_view<V, P>::inner-iterator<true>::operator++(int) should depend on Base",,
`LWG3533 <https://wg21.link/LWG3533>`__,"Make base() const & consistent across iterator wrappers that supports input_iterators",,
`LWG3541 <https://wg21.link/LWG3541>`__,"indirectly_readable_traits should be SFINAE-friendly for all types",,
`LWG3543 <https://wg21.link/LWG3543>`__,"Definition of when counted_iterators refer to the same sequence isn't quite right",,
`LWG3546 <https://wg21.link/LWG3546>`__,"common_iterator's postfix-proxy is not quite right",,
`LWG3549 <https://wg21.link/LWG3549>`__,"view_interface is overspecified to derive from view_base",,
`LWG3551 <https://wg21.link/LWG3551>`__,"borrowed_{iterator,subrange}_t are overspecified",,
`LWG3553 <https://wg21.link/LWG3553>`__,"Useless constraint in split_view::outer-iterator::value_type::begin()",,
`LWG3555 <https://wg21.link/LWG3555>`__,"{transform,elements}_view::iterator::iterator_concept should consider const-qualification of the underlying range",,
`LWG3361 <https://wg21.link/LWG3361>`__,"``safe_range<SomeRange&>`` case",,
`LWG3392 <https://wg21.link/LWG3392>`__,"``ranges::distance()`` cannot be used on a move-only iterator with a sized sentinel",,
`LWG3407 <https://wg21.link/LWG3407>`__,"Some problems with the wording changes of P1739R4",,
`LWG3470 <https://wg21.link/LWG3470>`__,"``convertible-to-non-slicing`` seems to reject valid case",,
`LWG3480 <https://wg21.link/LWG3480>`__,"``directory_iterator`` and ``recursive_directory_iterator`` are not C++20 ranges",,
`LWG3535 <https://wg21.link/LWG3535>`__,"``join_view::iterator::iterator_category`` and ``::iterator_concept`` lie",,
`LWG3559 <https://wg21.link/LWG3559>`__,"Semantic requirements of ``sized_range`` is circular",,
`LWG3560 <https://wg21.link/LWG3560>`__,"``ranges::equal`` and ``ranges::is_permutation`` should short-circuit for ``sized_ranges``",,
`LWG3563 <https://wg21.link/LWG3563>`__,"``keys_view`` example is broken",,
`LWG3568 <https://wg21.link/LWG3568>`__,"``basic_istream_view`` needs to initialize ``value_``",,
`LWG3572 <https://wg21.link/LWG3572>`__,"``copyable-box`` should be fully ``constexpr``",,
`LWG3580 <https://wg21.link/LWG3580>`__,"``iota_view``'s ``iterator``'s binary ``operator+`` should be improved",,
`LWG3581 <https://wg21.link/LWG3581>`__,"The range constructor makes ``basic_string_view`` not trivially move constructible",,
`LWG3589 <https://wg21.link/LWG3589>`__,"The ``const`` lvalue reference overload of ``get`` for ``subrange`` does not constrain ``I`` to be ``copyable`` when ``N == 0``",,
`LWG3590 <https://wg21.link/LWG3590>`__,"``split_view::base() const &`` is overconstrained",,
`LWG3591 <https://wg21.link/LWG3591>`__,"``lazy_split_view<input_view>::inner-iterator::base() &&`` invalidates outer iterators",,
`LWG3592 <https://wg21.link/LWG3592>`__,"``lazy_split_view`` needs to check the simpleness of Pattern",,
`LWG3593 <https://wg21.link/LWG3593>`__,"Several iterators' ``base() const &`` and ``lazy_split_view::outer-iterator::value_type::end()`` missing ``noexcept``",,