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