constexpr /*sentinel*/<false> end(); | (1) | (since C++20) |
constexpr /*iterator*/<false> end() requires ranges::common_range<V>; | (2) | (since C++20) |
constexpr /*sentinel*/<true> end() const requires ranges::range<const V> && std::regular_invocable<const F&, ranges::range_reference_t<const V>>; | (3) | (since C++20) |
constexpr /*iterator*/<true> end() const requires ranges::common_range<const V> && std::regular_invocable<const F&, ranges::range_reference_t<const V>>; | (4) | (since C++20) |
Returns a sentinel or an iterator representing the end of the transform_view
.
Let base_
be the underlying view:
return /*sentinel*/<false>{ranges::end(base_)};
.return /*iterator*/<false>{*this, ranges::end(base_)};
.return /*sentinel*/<true>{ranges::end(base_)};
.return /*iterator*/<true>{*this, ranges::end(base_)};
.(none).
end()
returns an iterator if and only if the underlying view is a common_range
: transform_view<V,F>
models common_range
whenever V
does.
(C++20) | returns an iterator to the beginning (public member function) |
(C++20) | returns a sentinel indicating the end of a range (customization point object) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/transform_view/end