std::meta::is_noexcept
От ru.cppreference.net
| Определен в заголовке <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(C++26) |
проверяет, представляет ли отражение функцию (функция) |
(C++11) |
проверяет, является ли тип типом функции (шаблон класса) |