Я программно генерирую кучу функторов, чтобы сделать сгенерированный код более читабельным. Я пытаюсь придумать макрос, который расширит следующую строку:
SET_STATE(FunctorA,a,b);
ref a;
ref b;
FunctorA(ref a, ref b){
this->a = a;
this->b = b;
}
В основном он будет расширяться до первых аргументов конструктор. Вариативная часть - это количество аргументов конструктора. Можно ли выполнить цикл внутри макроса и сгенерировать этот код во время предварительной обработки, даже если это не имеет смысла для этого конкретного случая, но у меня есть некоторые функторы, которые имеют около 20 переменных, к которым у них есть доступ, будут сильно очищать мой сгенерированный код.
Все аргументы будут одного типа,будут отличаться только имена.