Namespaces
Variants

std::meta::is_user_provided

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

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

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

Параметры

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

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

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

Примечания

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

Пример

#include <compare>
#include <meta>

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

    std::strong_ordering operator<=>(const Base&) const = delete;
};

bool Base::operator==(const Base&) const = default;

struct Derived : public Base
{
    bool operator==(const Derived&) const { return true; }

    std::strong_ordering operator<=>(const Derived&) const = default;
};

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

int main() {}

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

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