Namespaces
Variants

std::ranges::drop_view<V>:: size

From cppreference.net
Ranges library
Range adaptors
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)

Sea base_ la vista subyacente, count_ el contador almacenado (el número pasado al constructor, o 0 si * this se construye por defecto). Equivalente a

const auto s = ranges:: size ( base_ ) ;
const auto c = static_cast < decltype ( s ) > ( count_ ) ;
return s < c ? 0 : s - c ;

Valor de retorno

El número de elementos.

Ejemplo

#include <array>
#include <ranges>
int main()
{
    constexpr std::array a{42, 43, 44};
    static_assert
    (
        std::ranges::drop_view{std::views::all(a), 0}.size() == 3 &&
        std::ranges::drop_view{std::views::all(a), 1}.size() == 2 &&
        std::ranges::drop_view{std::views::all(a), 2}.size() == 1 &&
        std::ranges::drop_view{std::views::all(a), 3}.size() == 0 &&
        std::ranges::drop_view{std::views::all(a), 4}.size() == 0
    );
}

Véase también

devuelve un entero igual al tamaño de un rango
(objeto de punto de personalización)
devuelve un entero con signo igual al tamaño de un rango
(objeto de punto de personalización)