Namespaces
Variants

std::meta::is_noexcept

来自 zh.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
检查反射是否表示一个函数
(函数)
检查一个类型是否为函数类型
(类模板)