次の方法で共有


<span> 関数

<span> ヘッダーには、span オブジェクトに対して動作する次の非メンバー関数が含まれています。

非メンバー関数 説明
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

Tconst でない場合は、スパン内の要素の生バイト表現の読み取り/書き込みビューを取得します。

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>