table of contents
std::ranges::enumerate_view::end(3) | C++ Standard Libary | std::ranges::enumerate_view::end(3) |
NAME¶
std::ranges::enumerate_view::end - std::ranges::enumerate_view::end
Synopsis¶
constexpr auto end() requires (!__simple_view<V>);
(1) (since C++23)
constexpr auto end() const requires (2) (since C++23)
/*range-with-movable-references*/<const V>;
Returns an iterator or a sentinel that compares equal to the end iterator of
the
enumerate_view.
Let base_ denote the underlying view.
1) Equivalent to:
if constexpr (ranges::forward_range<V> and
ranges::common_range<V> and
ranges::sized_range<V>)
return /*iterator*/<false>(ranges::end(base_),
ranges::distance(base_));
else
return /*sentinel*/<false>(ranges::end(base_));
2) Equivalent to:
if constexpr (ranges::forward_range<const V> and
ranges::common_range<const V> and
ranges::sized_range<const V>)
return /*iterator*/<true>(ranges::end(base_), ranges::distance(base_));
else
return /*sentinel*/<true>(ranges::end(base_));
Parameters¶
(none)
Return value¶
An iterator or a sentinel representing the end of the
enumerate_view, as described
above.
Example¶
This section is incomplete
Reason: no example
Defect reports
The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.
DR Applied to Behavior as published Correct behavior
ranges::distance may invoke UB for sentinel type is returned
LWG 3919 C++23 sized common for such ranges
non-forward underlying ranges
See also¶
begin returns an iterator to the beginning
(C++23) (public member function)
ranges::end returns a sentinel indicating the end of a range
(C++20) (customization point object)
Category:¶
* Todo no example
2024.06.10 | http://cppreference.com |