Поделиться через


<span>Функции

Заголовок <span> включает следующие функции, не являющиеся членами, которые работают с span объектами.

Функции, не являющиеся членами Description
as_bytes Получите представление только для чтения объекта представления элементов в диапазоне.
as_writable_bytes Получение представления объекта для представления элементов в диапазоне считывания и записи.

as_bytes

Получите представление только для чтения объекта представления элементов в диапазоне.

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

Параметры

T
Тип элементов в диапазоне.

Extent
Число элементов в диапазоне (если известно во время компиляции), в противном случае dynamic_extent указывает, что число элементов не известно до времени выполнения.

s
Диапазон для получения необработанного представления.

Возвращаемое значение

Первый span<const byte, S> элемент, хранящийся в диапазоне, где S находится {reinterpret_cast<const std::byte*>(s.data()), s.size_bytes()}

Пример

#include <span>
#include <iostream>

using namespace std;

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

as_writable_bytes

Если T это не constтак, получает представление необработанного байтового представления элементов в диапазоне.

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

Параметры

T
Тип элементов в диапазоне.

Extent
Число элементов в диапазоне (если известно во время компиляции), в противном случае dynamic_extent указывает, что число элементов не известно до времени выполнения.

s
Диапазон для получения необработанного представления.

Возвращаемое значение

Первый span<byte, S> элемент, хранящийся в диапазоне, где S находится {reinterpret_cast<std::byte*>(s.data()), s.size_bytes()}

Пример

#include <span>
#include <iostream>

using namespace std;

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

См. также

<span>