std::meta::is_explicit
С ru.cppreference.net
| Определено в заголовке <meta>
|
||
consteval bool is_explicit( std::meta::info r );
|
(начиная с C++26) | |
Возвращает true true, если r представляет явный конструктор или функцию преобразования. В противном случае возвращает false false.
Параметры
| r | - | значение отражения |
Возвращаемое значение
true true, если r представляет функцию-член, объявленную как explicit; в противном случае false false.
Примечания
Если r не представляет функцию, результат равен false false. В частности, результат равен false false, если r представляет шаблон функции.
Пример
Запустить этот код
#include <meta>
struct A {
explicit operator bool() const;
template<class T>
explicit(^^T == ^^void) operator T*() const;
};
static_assert(std::meta::is_explicit(^^A::operator bool));
static_assert(std::meta::is_explicit(^^A::operator void*));
static_assert(!std::meta::is_explicit(^^A::operator int*));
Смотри также
(C++26) |
проверяет, представляет ли отражение функцию (функция) |