Compartilhar via


Funções <span>

O cabeçalho <span> inclui as seguintes funções não membro que operam em objetos span.

Funções de não membro Descrição
as_bytes Obtenha uma exibição somente leitura da representação de objeto dos elementos no intervalo.
as_writable_bytes Obtenha uma exibição leitura/gravação da representação de objeto dos elementos no intervalo.

as_bytes

Obtenha uma exibição somente leitura da representação de objeto dos elementos no intervalo.

template <class T, size_t Extent>
auto as_bytes(span<T, Extent> s) noexcept;

Parâmetros

T
O tipo dos elementos no intervalo.

Extent
O número de elementos no intervalo (se conhecido no tempo de compilação), caso contrário dynamic_extent, que indica que o número de elementos não será conhecido até o runtime.

s
O intervalo do qual obter a representação bruta.

Valor de retorno

Um span<const byte, S> para o primeiro item armazenado no intervalo em que S é {reinterpret_cast<const std::byte*>(s.data()), s.size_bytes()}

Exemplo

#include <span>
#include <iostream>

using namespace std;

void main()
{
    int a[] = { 0,1,2 };
    span <int> mySpan(a);
    auto bytes = std::as_bytes(mySpan);
}

as_writable_bytes

Se T não for const, obtém uma exibição de leitura/gravação da representação de bytes bruto dos elementos no intervalo.

template <class T, size_t Extent>
auto as_writable_bytes(span<T, Extent> s) noexcept;

Parâmetros

T
O tipo dos elementos no intervalo.

Extent
O número de elementos no intervalo (se conhecido no tempo de compilação), caso contrário dynamic_extent, que indica que o número de elementos não será conhecido até o runtime.

s
O intervalo do qual obter a representação bruta.

Valor de retorno

Um span<byte, S> para o primeiro item armazenado no intervalo em que S é {reinterpret_cast<std::byte*>(s.data()), s.size_bytes()}

Exemplo

#include <span>
#include <iostream>

using namespace std;

void main()
{
    int a[] = { 0,1,2 };
    span <int> mySpan(a);
    auto bytes = as_writable_bytes(mySpan);
}

Confira também

<span>