Мой реальный вариант использования C++. Я пытаюсь уменьшить количество ввода текста при явном создании экземпляра шаблона. Например,
Код: Выделить всё
template
void myFunc(std::array data);
template
void myFunc(std::array data);
template
void myFunc(std::array data);
template
void myFunc(std::array data);
...
Я хочу определить определение макроса/препроцессора, чтобы я мог сделать что-то вроде pass -D MIN_SIZE 6; -D MAX_SIZE 10, а затем выполните:
Код: Выделить всё
BEGIN_PREPROCESSOR_LOOP(SIZE, MIN_SIZE, MAX_SIZE)
template
void myFunc(std::array data);
END_PREPROCESSOR_LOOP()
Возможно ли это с помощью (рекурсивных) макросов? Или я могу использовать метапрограммирование шаблонов для создания явных специализаций?
Подробнее здесь:
https://stackoverflow.com/questions/789 ... eprocessor