std::meta::is_noexcept
来自cppreference.com
| 在标头 <meta> 定义
|
||
| |
(C++26 起) | |
如果 r 表示 noexcept 函数类型或具有不抛出异常规范的函数,则返回 true,否则返回 false。
参数
| r | - | 一个反射值 |
返回值
如果 r 表示 noexcept 函数类型或函数,则为 true,否则为 false。
注解
如果 r 不表示函数类型或函数,则结果为 false。特别地,如果 r 表示函数模板,则结果为 false。
示例
运行此代码
#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));
参阅
Template:cpp/meta/dsc is function type(C++26) |
检查反射是否表示函数 (函数) |
(C++11) |
检查类型是否为函数类型 (类模板) |