Namespaces
Variants

std::meta::template_of

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

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

Для отражения r, представляющего сущность, созданную из шаблона функции, шаблона переменной, шаблона класса или шаблона псевдонима, возвращает отражение этого шаблона.

Параметры

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

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

Шаблон, из которого создана функция, переменная, класс или псевдоним типа, представленные отражением r.

Исключения

Выбрасывает std::meta::exception, если только std::meta::has_template_arguments(r) не является true (т.е. r представляет сущность, созданную из шаблона).

Пример

#include <meta>
#include <string>
#include <vector>

static_assert(template_of(^^std::vector<int>) == ^^std::vector);
static_assert(!has_template_arguments(^^std::string));
static_assert(template_of(std::meta::dealias(^^std::string)) == ^^std::basic_string);

int main() {}

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

Шаблон:cpp/meta/dsc is template
проверяет, создана ли отражаемая сущность путём подстановки аргументов шаблона в шаблон
(функция)