P0896R4 <ranges>
P1035R7 Input Range Adaptors
P1207R4 Movability Of Single-Pass Iterators
P1243R4 Rangify New Algorithms
P1248R1 Fixing Relations
P1252R2 Ranges Design Cleanup
P1391R4 Range Constructor For string_view
P1456R1 Move-Only Views
P1474R1 Helpful Pointers For contiguous_iterator
P1522R1 Iterator Difference Type And Integer Overflow
P1523R1 Views And Size Types
P1638R1 basic_istream_view::iterator Should Not Be Copyable
P1716R3 Range Comparison Algorithms Are Over-Constrained
P1739R4 Avoiding Template Bloat For Ranges
P1862R1 Range Adaptors For Non-Copyable Iterators
P1870R1 safe_range
P1871R1 disable_sized_sentinel_for
P1878R1 Constraining Readable Types
P1970R2 ranges::ssize
P1983R0 Fixing Minor Ranges Issues
P1994R1 elements_view Needs Its Own sentinel
P2091R0 Fixing Issues With Range Access CPOs
P2106R0 Range Algorithm Result Types
LWG-3169 ranges permutation generators discard useful information
LWG-3173 Enable CTAD for ref-view
LWG-3179 subrange should always model Range
LWG-3180 Inconsistently named return type for ranges::minmax_element
LWG-3183 Normative permission to specialize Ranges variable templates
LWG-3186 ranges removal, partition, and partial_sort_copy algorithms discard useful information
LWG-3191 std::ranges::shuffle synopsis does not match algorithm definition
LWG-3276 Class split_view::outer_iterator::value_type should inherit from view_interface
LWG-3280 View converting constructors can cause constraint recursion and are unneeded
LWG-3281 Conversion from pair-like types to subrange is a silent semantic promotion
LWG-3282 subrange converting constructor should disallow derived to base conversions
LWG-3286 ranges::size is not required to be valid after a call to ranges::begin on an input range
LWG-3291 iota_view::iterator has the wrong iterator_category
LWG-3292 iota_view is under-constrained
LWG-3299 Pointers don't need customized iterator behavior
LWG-3301 transform_view::iterator has incorrect iterator_category
LWG-3302 Range adaptor objects keys and values are unspecified
LWG-3313 join_view::iterator::operator-- is incorrectly constrained
LWG-3323 has-tuple-element helper concept needs convertible_to
LWG-3325 Constrain return type of transformation function for transform_view
LWG-3335 range_size_t and views::all_t
LWG-3355 The memory algorithms should support move-only input iterators introduced by P1207
LWG-3363 drop_while_view should opt-out of sized_range
LWG-3364 Initialize data members of ranges and their iterators
LWG-3381 begin and data must agree for contiguous_range
LWG-3384 transform_view::sentinel has an incorrect operator-
LWG-3385 common_iterator is not sufficiently constrained for non-copyable iterators
LWG-3387 [range.reverse.view] reverse_view<V> unintentionally requires range<const V>
LWG-3388 view iterator types have ill-formed <=> operators
LWG-3389 A move-only iterator still does not have a counted_iterator
LWG-3397 ranges::basic_istream_view::iterator should not provide iterator_category
LWG-3398 tuple_element_t is also wrong for const subrange
LWG-3474 Nesting join_views is broken because of CTAD
LWG-3500 join_view::iterator::operator->() is bogus
LWG-3505 split_view::outer-iterator::operator++ misspecified
Feature-test macro as of WG21-N4842, increased by WG21-P1902:
#define __cpp_lib_ranges 201911L
P0896R4
<ranges>P1035R7 Input Range Adaptors
P1207R4 Movability Of Single-Pass Iterators
P1243R4 Rangify New Algorithms
P1248R1 Fixing Relations
P1252R2 Ranges Design Cleanup
P1391R4 Range Constructor For
string_viewP1456R1 Move-Only Views
P1474R1 Helpful Pointers For
contiguous_iteratorP1522R1 Iterator Difference Type And Integer Overflow
P1523R1 Views And Size Types
P1638R1
basic_istream_view::iteratorShould Not Be CopyableP1716R3 Range Comparison Algorithms Are Over-Constrained
P1739R4 Avoiding Template Bloat For Ranges
P1862R1 Range Adaptors For Non-Copyable Iterators
P1870R1
safe_rangeP1871R1
disable_sized_sentinel_forP1878R1 Constraining Readable Types
P1970R2
ranges::ssizeP1983R0 Fixing Minor Ranges Issues
P1994R1
elements_viewNeeds Its OwnsentinelP2091R0 Fixing Issues With Range Access CPOs
P2106R0 Range Algorithm Result Types
LWG-3169
rangespermutation generators discard useful informationLWG-3173 Enable CTAD for ref-view
LWG-3179
subrangeshould always modelRangeLWG-3180 Inconsistently named return type for
ranges::minmax_elementLWG-3183 Normative permission to specialize Ranges variable templates
LWG-3186
rangesremoval, partition, andpartial_sort_copyalgorithms discard useful informationLWG-3191
std::ranges::shufflesynopsis does not match algorithm definitionLWG-3276 Class
split_view::outer_iterator::value_typeshould inherit fromview_interfaceLWG-3280 View converting constructors can cause constraint recursion and are unneeded
LWG-3281 Conversion from pair-like types to
subrangeis a silent semantic promotionLWG-3282
subrangeconverting constructor should disallow derived to base conversionsLWG-3286
ranges::sizeis not required to be valid after a call toranges::beginon an input rangeLWG-3291
iota_view::iteratorhas the wrongiterator_categoryLWG-3292
iota_viewis under-constrainedLWG-3299 Pointers don't need customized iterator behavior
LWG-3301
transform_view::iteratorhas incorrectiterator_categoryLWG-3302 Range adaptor objects
keysandvaluesare unspecifiedLWG-3313
join_view::iterator::operator--is incorrectly constrainedLWG-3323 has-tuple-element helper concept needs
convertible_toLWG-3325 Constrain return type of transformation function for
transform_viewLWG-3335
range_size_tandviews::all_tLWG-3355 The memory algorithms should support move-only input iterators introduced by P1207
LWG-3363
drop_while_viewshould opt-out ofsized_rangeLWG-3364 Initialize data members of ranges and their iterators
LWG-3381
beginanddatamust agree forcontiguous_rangeLWG-3384
transform_view::sentinelhas an incorrectoperator-LWG-3385
common_iteratoris not sufficiently constrained for non-copyable iteratorsLWG-3387
[range.reverse.view]reverse_view<V>unintentionally requiresrange<const V>LWG-3388
viewiterator types have ill-formed<=>operatorsLWG-3389 A move-only iterator still does not have a
counted_iteratorLWG-3397
ranges::basic_istream_view::iteratorshould not provideiterator_categoryLWG-3398
tuple_element_tis also wrong forconst subrangeLWG-3474 Nesting
join_views is broken because of CTADLWG-3500
join_view::iterator::operator->()is bogusLWG-3505
split_view::outer-iterator::operator++misspecifiedFeature-test macro as of WG21-N4842, increased by WG21-P1902:
#define __cpp_lib_ranges 201911L