constexpr void swap(unexpected& other)
noexcept(is_nothrow_swappable_v<E>);
概要
他のunexpected
オブジェクトとデータを入れ替える。
テンプレートパラメータ制約
is_swappable_v<E> == true
効果
動作説明用のE
型メンバ変数unex
として、次と等価 :
using std::swap;
swap(unex, rhs.unex);
戻り値
なし
例
#include <cassert>
#include <expected>
int main()
{
std::unexpected<int> x{1};
std::unexpected<int> y{2};
assert(x.error() == 1 && y.error() == 2);
x.swap(y);
assert(x.error() == 2 && y.error() == 1);
}
13
#include <cassert>
#include <expected>
int main()
{
std::unexpected<int> x{1};
std::unexpected<int> y{2};
assert(x.error() == 1 && y.error() == 2);
x.swap(y);
assert(x.error() == 2 && y.error() == 1);
}
出力
バージョン
言語
- C++23
処理系
- Clang: 16.0 ✅
- GCC: 12.1 ✅
- ICC: ??
- Visual C++: ??