Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 1.79 KB

error_or.md

File metadata and controls

69 lines (51 loc) · 1.79 KB

error_or

  • expected[meta header]
  • function template[meta id-type]
  • std[meta namespace]
  • expected.void[meta class]
  • cpp23[meta cpp]
// expected<cv void, E>部分特殊化
template<class G = E> constexpr T error_or(G&& e) const &; // (1)
template<class G = E> constexpr T error_or(G&& e) &&;      // (2)

概要

エラー値もしくは指定された値を取得する。

適格要件

戻り値

#include <expected>
#include <iostream>
#include <string>

int main()
{
  std::expected<void, std::string> x;
  std::cout << x.error_or("-") << std::endl;

  std::expected<void, std::string> y = std::unexpected{"ERR"};
  std::cout << y.error_or("-") << std::endl;
}
  • error_or[color ff0000]
  • std::unexpected[link ../unexpected.md]

出力

-
ERR

バージョン

言語

  • C++23

処理系

関連項目

参照