friend constexpr void swap(mdspan& x, mdspan& y) noexcept;
概要
2つのmdspan
オブジェクトを入れ替える。
効果
説明専用のメンバ変数ptr_
, map_
, acc_
に対して、以下と等価
swap(x.ptr_, y.ptr_);
swap(x.map_, y.map_);
swap(x.acc_, y.acc_);
例外
投げない
例
#include <cassert>
#include <mdspan>
using Matrix = std::mdspan<double, std::dextents<size_t, 2>>;
int main()
{
double arr1[] = {1, 2, 3, 4, 5, 6};
double arr2[] = {4, 3, 2, 1};
Matrix mat1{arr1, 2, 3};
Matrix mat2{arr2, 1, 4};
swap(mat1, mat2);
assert(mat1.data_handle() == arr2);
assert(mat1.size() == 4);
assert(mat2.data_handle() == arr1);
assert(mat2.size() == 6);
}
出力
バージョン
言語
- C++23
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??