Namespaces
Variants

std::meta::is_explicit

С ru.cppreference.net
< cpp | meta
 
 
 
Библиотека отражения
Запросы доступности членов
Идентификация области видимости
Запросы членов отражения
Отражение аннотаций
Извлечение значений
Подстановка отражения
Отражение результата выражения
Генерация определения класса

Основные категории типов
Составные категории типов
Свойства типов ➜
Отношения типов
 
Типы и запросы отражения
Запросы отражения
Запросы макета отражения
Свойства типов
Запросы свойств типов
 
Определено в заголовке <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*));

Смотри также

проверяет, представляет ли отражение функцию
(функция)