std::ranges::common_view<V>::end
constexpr auto end(); |
(1) | (since C++20) |
constexpr auto end() const requires ranges::range<const V>; |
(2) | (since C++20) |
common_view, то есть:
-
ranges::begin(base_) + ranges::size(base_), если обаranges::random_access_range<V>иranges::sized_range<V>выполняются, -
std::common_iterator<ranges::iterator_t<V>, ranges::sentinel_t<V>>(ranges::end(base_))в противном случае.
base_ (имя используется только для демонстрации) — это базовое представление.
2) Аналогично (1), но
V имеет квалификатор const.Параметры
(нет)
Возвращаемое значение
Итератор, представляющий конец базового представления.
Пример
#include <iostream>
#include <numeric>
#include <ranges>
int main()
{
constexpr int n{4};
constexpr auto v1 = std::views::iota(1)
| std::views::take(n)
| std::views::common
;
constexpr auto v2 = std::views::iota(2)
| std::views::take(n)
;
const int product = std::inner_product(v1.begin(), v1.end(),
v2.begin(),
0);
std::cout << product << '\n';
}Вывод:
40
См. также
|
(C++20)
|
возвращает итератор начала (публичный член-функция) |
|
(C++20)
|
возвращает итератор начала диапазона (объект точки кастомизации) |
|
(C++20)
|
возвращает конечную метку диапазона (объект точки кастомизации) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/common_view/end