Простой цикл for в препроцессоре C ⇐ C++

Программы на C++. Форум разработчиков
Anonymous
Простой цикл for в препроцессоре C

Сообщение Anonymous »

Мой реальный вариант использования 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

Вернуться в «C++»