std::ranges::transform_view<V,F>::end

From cppreference.com
 
 
Ranges library
Range access
Range conversions
(C++23)
Range primitives



Dangling iterator handling
Range concepts
Views

Factories






Adaptors
Range adaptor objects
Range adaptor closure objects
Helper items
 
 
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:

1) Equivalent to return /*sentinel*/<false>{ranges::end(base_)};.
2) Equivalent to return /*iterator*/<false>{*this, ranges::end(base_)};.
3) Equivalent to return /*sentinel*/<true>{ranges::end(base_)};.
4) Equivalent to return /*iterator*/<true>{*this, ranges::end(base_)};.

Parameters

(none)

Return value

1,3) sentinel which compares equal to the end iterator
2,4) iterator to the element following the last element

Notes

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.

Example

See also

(C++20)
returns an iterator to the beginning
(public member function)
returns a sentinel indicating the end of a range
(customization point object)