Description
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_view
s 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