бы специализировать для всех int8_t, uint8_t, ..., int64_t, uint64_t
но все эти специализации имеют одинаковый код, поэтому не хочу писать 8 почти одинаковых специализаций
есть какой-то способ этого не делать?
Правильно говорить "шаблон функции", а не "шаблонная функция"
штуки основанные на сфинае юзать
Можешь сделать рекурсивным шаблоном
не делать специализации, а использовать concept: template <class T> concept Integral = std::is_integral<T>::value; template<Integral T> struct Foo { }; int main() { Foo<std::string> f1; // error Foo<int> f2; // ok }
Есть, напиши из код в общей реализации, а все остальные варианты сделай в специализации для каждого из остальных типов
Обсуждают сегодня