Имя для структур / классов, выполняющих вычисления времени компиляции - PullRequest
0 голосов
/ 15 мая 2019

Мне нравится комментировать источники моих шаблонных библиотек. Предоставляет типы контейнеров и функциональные возможности для работы с ними. Например:

template <class TypePair>
struct first;

template <class TypePair>
using first_t = typename first<TypePair>::type;

template <
    template <class, class> class TypePair,
    class First,
    class Second
>
struct first<TypePair<First, Second>>
{
    using type = First;
};

Использование:

using my_pair = type_pair<int, double>;
using first_entry = first_t<my_pair>;
static_assert(std::is_same_v<int, first_entry >);

Это расчет времени компиляции по типам. Как я могу назвать такую ​​вещь? Есть ли общее слово для этого? Я знаю о типичных чертах, но не думаю, что этот термин здесь правильный.

Заранее спасибо, Martin

...