Namespaces
Variants

std::meta::is_noexcept

ja.cppreference.net より
< cpp | meta
 
 
 
リフレクションライブラリ
 
リフレクションの型とクエリ
リフレクションクエリ
リフレクションレイアウトクエリ
型プロパティ
型プロパティクエリ
 
ヘッダで定義 <meta>
consteval bool is_noexcept( std::meta::info r );
(C++26 以上)

を返す true もし r が noexcept 関数型または例外を投げない例外指定を持つ関数を表す場合。そうでなければ false を返す。

引数

r - リフレクション値

戻り値

true の場合 r は noexcept 関数型または関数を表す。そうでなければ false。

ノート

もし r が関数型または関数を表さない場合、結果は false です。特に、結果は false の場合 r は関数テンプレートを表す。

例

#include <meta>

template<bool Cond>
void f() noexcept(Cond);

static_assert(std::meta::is_noexcept(^^f<true>));
static_assert(!std::meta::is_noexcept(^^f<false>));
static_assert(!std::meta::is_noexcept(^^f));

using fty = decltype(f<true>);
static_assert(std::meta::is_noexcept(^^fty));

int main() {}

関連項目

Template:cpp/meta/dsc is function type
リフレクションが関数を表すかどうかを調べる
(関数)
型が関数型かどうかを調べる
(クラステンプレート)