Espacios de nombres
Variantes

std::ranges::take_view<V>::size

De cppreference.com
 
 
Biblioteca de rangos
Adaptadores de rangos
 
 
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

#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