やったーC++ Advent Calendarすっかり忘れていました。 今日は数あるBoost.PPのマクロのうち今一つ何がしたいのか分からない連中にスポットを当ててみたいと思います。 BOOST_PP_IS_EMPTY 例えばコンパイルフラグとしてHOGEが定義されていたとします。gcc -DHOGEとか、#define HOGEとかそういう感じで。その時に、ある関数で何か特別なことをするには: void f() { … #if defined HOGE 何か特別なこと #endif … }普通はこうですが、ワンライナーでやりましょう #include <boost/preprocessor/control/expr_iif.hpp> #include <boost/preprocessor/facilities/is_empty.hpp> void f() { … BOOST_PP_E