BOOST_PP_COUNTER
BOOST_PP_COUNTER
を利用すると __COUNTER__
のような事が出来ます。
ただし、__COUNTER__
とは違い、マクロを呼び出す度に BOOST_PP_UPDATE_COUNTER()
で更新してやる必要があります。
[コード]
#include <iostream> #include <boost/preprocessor/slot/counter.hpp> int main(){ int value = 0; value += BOOST_PP_COUNTER; #include BOOST_PP_UPDATE_COUNTER(); value += BOOST_PP_COUNTER; #include BOOST_PP_UPDATE_COUNTER(); value += BOOST_PP_COUNTER; #include BOOST_PP_UPDATE_COUNTER(); value += BOOST_PP_COUNTER; #include BOOST_PP_UPDATE_COUNTER(); std::cout << value << std::endl; // => 6 return 0; }
さすがに __COUNTER__
より手間そう。