Если у меня есть класс с именем Tuple<T, SIZE>
и я хочу, скажем, 20 различных шаблонов с плавающей точкой, создаваемых при компиляции библиотеки (чтобы у пользователя не возникало ошибок компоновки):
template Tuple<float, 1>;
template Tuple<float, 2>;
...
template Tuple<float, 20>;
IsЕсть ли способ рекурсивного выполнения вышеизложенного?И, может быть, позволить ему быть гибким, чтобы я мог написать любое число, которое бы мне понравилось, и оно создало для меня экземпляры классов?
РЕДАКТИРОВАТЬ: Что я пробовал до сих пор (не похожена работу):
template <typename T, unsigned int MAX_RANGE>
class AllTuples
{
Tuple<T, MAX_RANGE> y;
AllTuples<T, MAX_RANGE - 1> x;
};
template <typename T>
class AllTuples<T, 1>
{
Tuple<T, 1> x;
};
AllTuples<float, 10>;