最終更新日時(UTC):
が更新

履歴 編集

function
<expected>

std::expected.void::swap (非メンバ関数)(C++23)

// expected<cv void, E>部分特殊化
friend constexpr void swap(expected& x, expected& y)
  noexcept(noexcept(x.swap(y)));

概要

2つのexpectedオブジェクトを入れ替える。

効果

x.swap(y);

戻り値

なし

#include <cassert>
#include <expected>

int main()
{
  std::expected<void, int> x;
  std::expected<void, int> y = std::unexpected{42};
  assert(x.has_value() && y.error() == 42);

  std::swap(x, y);
  assert(x.error() == 42 && y.has_value());
}

出力

バージョン

言語

  • C++23

処理系

参照