std::ranges::common_view<V>::end
De cppreference.com
constexpr auto end();
|
(1) | (desde C++20) |
constexpr auto end() const requires ranges::range<const V>;
|
(2) | (desde C++20) |
1) Devuelve un iterador que representa el final de la vista
common_view, es decir:
ranges::begin(base_) + ranges::size(base_), si tantoranges::random_access_range<V>comoranges::sized_range<V>se satisfacen,std::common_iterator<ranges::iterator_t<V>, ranges::sentinel_t<V>>(ranges::end(base_))de lo contrario.
base_ (el nombre es para efectos solo de exposición) es la vista subyacente.2) Igual que (1), pero
V está calificada const.Parámetros
(Ninguno)
Valor de retorno
Un iterador que representa el final de la vista subyacente.
Ejemplo
Ejecuta este código
#include <iostream>
#include <numeric>
#include <ranges>
int main()
{
constexpr int n{4};
constexpr auto cv1 = std::views::iota(1)
| std::views::take(n)
| std::views::common
;
constexpr auto cv2 = std::views::iota(2)
| std::views::take(n)
;
const int product = std::inner_product(cv1.begin(), cv1.end(),
cv2.begin(),
0);
std::cout << product << '\n';
}
Salida:
40
Véase también
(C++20) |
Devuelve un iterador al comienzo. (función miembro pública) |
(C++20) |
Devuelve un iterador al principio de un rango. (objeto punto de personalización) |
(C++20) |
Devuelve un iterador al final de un rango (objeto punto de personalización) |