std::ranges::take_view<V>::size
De cppreference.com
constexpr auto size() requires ranges::sized_range<V>;
|
(1) | (desde C++20) |
constexpr auto size() const requires ranges::sized_range<const V>;
|
(2) | (desde C++20) |
Devuelve el número de elementos, que es el menor del conteo pasado al constructor y el tamaño de la vista subyacente.
Sea base_ la vista subyacente y count_ el número pasado al constructor (0 si se construyó por defecto). Equivalente a
auto n = ranges::size(base_);
return ranges::min(n, static_cast<decltype(n)>(count_));
Parámetros
(Ninguno)
Valor de retorno
El número de elementos.
Ejemplo
Ejecuta este código
#include <ranges>
#include <iostream>
int main()
{
constexpr int arr[] {1, 2, 3};
for (int i = 0; i != 6; ++i) {
const auto tv = std::ranges::take_view{arr, i};
std::cout << tv.size() << ' ';
}
}
Salida:
0 1 2 3 3 3