<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
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);
}