Namespaces
Variants

std::meta::is_user_declared

 
 
 
Библиотека отражения
Запросы доступности членов
Идентификация области видимости
Запросы членов отражения
Отражение аннотаций
Извлечение значений
Подстановка отражения
Отражение результата выражения
Генерация определения класса

Основные категории типов
Составные категории типов
Свойства типов ➜
Отношения типов
 
Типы и запросы отражения
Запросы отражения
Запросы компоновки отражения
Свойства типов
Запросы свойств типов
 
Определён в заголовке <meta>
consteval bool is_user_declared( std::meta::info r );
(начиная с C++26)

Возвращает true, если r представляет функцию, объявленную пользователем. В противном случае возвращает false.

Параметры

r - значение отражения

Возвращаемое значение

true r, если представляет функцию, объявленную пользователем; в противном случае false.

Примечания

Если r не представляет функцию, результат равен false. В частности, результат равен false, если r представляет шаблон функции.

Пример

#include <meta>

struct Base
{
    bool operator==(const Base&) const = default;
};

struct Derived : public Base
{
    std::strong_ordering operator<=>(const Derived&) const = default;

    // Derived::operator== is declared by the defaulted definition of operator<=>
};

static_assert(std::meta::is_user_declared(^^Base::operator==));
static_assert(!std::meta::is_user_declared(^^Derived::operator==));
static_assert(std::meta::is_user_declared(^^Derived::operator<=>));

int main() {}

Смотрите также

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