У меня есть структура, которая содержит признак о типе:специализация шаблона для шаблонного типа
template<typename T> struct x_trait { static const bool has_x = true; };
Это правильно для всех типов, но для определенного типа шаблона. Для этого определенного типа шаблона я хочу изменить признак:
template<> struct x_trait<tt_type<int>> { static const bool has_x = false; };
Пока что так хорошо. Но сам tt_type
принимает разные параметры шаблона. Есть ли способ установить x_trait
для всех шаблонов tt_type
s? Сейчас мой единственный выход, чтобы перечислить все типы:
template<> struct x_trait<tt_type<char>> { static const bool has_x = false; };
template<> struct x_trait<tt_type<short>> { static const bool has_x = false; };
template<> struct x_trait<tt_type<int>> { static const bool has_x = false; };
template<> struct x_trait<tt_type<long>> { static const bool has_x = false; };