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