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

履歴 編集

function
<meta>

std::meta::is_nothrow_convertible_type(C++26)

namespace std::meta {
  consteval bool is_nothrow_convertible_type(info type_src, info type_dst);
}

概要

型が別の型に例外を送出せずに変換可能かを判定する。std::is_nothrow_convertibleに対応する。

戻り値

type_srctype_dst例外を送出せずに変換可能な場合にtrueを返す。

例外

type_srcまたはtype_dstが型を表さない場合、std::meta::exception例外を送出する。

#include <meta>

struct A {};
struct B {
  B(const A&) noexcept {}
};
struct C {
  C(const A&) noexcept(false) {}
};

int main() {
  static_assert(std::meta::is_nothrow_convertible_type(^^int, ^^double));
  static_assert(std::meta::is_nothrow_convertible_type(^^A, ^^B));
  static_assert(!std::meta::is_nothrow_convertible_type(^^A, ^^C));
}

出力

バージョン

言語

  • C++26

処理系

関連項目

参照