Я хочу отслеживать расширение макроса - сколько раз макрос был расширен и каковы аргументы, когда произошло расширение.
Например,
У меня макрос может выглядеть так:
#define mymacro(x) int x
и в моем коде есть что-то вроде этого:
mymacro(a);
mymacro(b);
в конце расширения препроцессора (о да, есть ли способ сделать конкретный макрос, который будет расширяться последним?), я хотел бы знать, сколько раз использовалось mymacro и какие аргументы были переданы. В этом случае это будет 2 раза, а аргументами будут a и b.
Я исследовал библиотеку ускорительного препроцессора. У них есть BOOST_PP_ARRAY, но я не знаю, как сделать его «статическим», чтобы использовать его позже.
Я нашел кое-что в BOOST_PP_COUNTER. Похоже, что BOOST_PP_COUNTER - это то, что может поддерживать свое состояние во фразе препроцессора. Но мне до сих пор непонятно, как делать то, что я хотел.