Spec-Zone.ru › C++

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

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)

Возвращает маркер или итератор, представляющий конец transform_view.

Пусть base_ — это базовое представление:

1) Эквивалентно return /*sentinel*/<false>{ranges::end(base_)};.
2) Эквивалентно return /*iterator*/<false>{*this, ranges::end(base_)};.
3) Эквивалентно return /*sentinel*/<true>{ranges::end(base_)};.
4) Эквивалентно return /*iterator*/<true>{*this, ranges::end(base_)};.

Параметры

(нет)

Возвращаемое значение

1,3) маркер, который сравнивается по значению с итератором конца
2,4) итератор на элемент, следующий за последним элементом

Примечания

end() возвращает итератор только в том случае, если базовое представление является common_range: transform_view<V,F> моделирует common_range всякий раз, когда V это делает.

Пример

См. также

begin
(C++20)
возвращает итератор начала
(общедоступный член-функция)
ranges::end
(C++20)
возвращает маркер, указывающий на конец диапазона
(объект точки кастомизации)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/transform_view/end

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API