This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++23 status.
take_view
constructorSection: 25.7.10.2 [range.take.view] Status: C++23 Submitter: Hewill Kang Opened: 2022-07-15 Last modified: 2023-11-22
Priority: Not Prioritized
View all other issues in [range.take.view].
View all issues with C++23 status.
Discussion:
When V
does not model sized_range
, take_view::begin
returns
counted_iterator(ranges::begin(base_), count_)
. Since the
counted_iterator
constructor (24.5.7.2 [counted.iter.const]) already has
a precondition that n >= 0
, we should add this to take_view
as well,
which is consistent with drop_view
.
[2022-08-23; Reflector poll]
Set status to Tentatively Ready after eight votes in favour during reflector poll.
[2022-11-12 Approved at November 2022 meeting in Kona. Status changed: Voting → WP.]
Proposed resolution:
This wording is relative to N4910.
Modify 25.7.10.2 [range.take.view] as indicated:
constexpr take_view(V base, range_difference_t<V> count);-?- Preconditions:
count >= 0
istrue
.-1- Effects: Initializes
base_
withstd::move(base)
andcount_
withcount
.