Espacios de nombres
Variantes

std::span<T,Extent>::first

De cppreference.com
 
 
 
 
<tbody> </tbody>
template< std::size_t Count > constexpr std::span<element_type, Count> first() const;
constexpr std::span<element_type, std::dynamic_extent> first( size_type Count ) const;

Obtiene un lapso que es una vista sobre los primeros Count elementos de este lapso. El programa está mal formado si Count > Extent. El comportamiento no está definido si Count > size().

Valor de retorno

Un lapso r que es una vista sobre los primeros Count elementos de *this, tal que r.data() == this->data() && r.size() == Count.

Ejemplo

#include <iostream>
#include <span>
#include <string_view>

void imprimir(std::string_view const titulo, 
           /* std::ranges::forward_range */ auto const& contenedor) {
    std::cout << titulo << "[" << std::size(contenedor) << "]{ ";
    for (auto const& elem : contenedor)
        std::cout << elem << ", ";
    std::cout << "};\n";
}

void ejecutar_juego(std::span<const int> lapso)
{
    imprimir("lapso: ", lapso);

    std::span<const int, 5> primero = lapso.first<5>();
    imprimir("lapso.first<5>(): ", primero);

    std::span<const int, std::dynamic_extent> primero_dinamico = lapso.first(4);
    imprimir("lapso.first(4):   ", primero_dinamico);
}

int main()
{
    int a[8]{ 1, 2, 3, 4, 5, 6, 7, 8, };
    imprimir("int  a", a);
    ejecutar_juego(a);
}

Salida:

int  a[8]{ 1, 2, 3, 4, 5, 6, 7, 8, };
lapso: [8]{ 1, 2, 3, 4, 5, 6, 7, 8, };
lapso.first<5>(): [5]{ 1, 2, 3, 4, 5, };
lapso.first(4):   [4]{ 1, 2, 3, 4, };

Véase también

Obtiene un sublapso que consiste en los últimos N elementos de la secuencia.
(función miembro pública) [editar]
Obtiene un sublapso.
(función miembro pública) [editar]