BOOST_PP_EXPR_IIF
マクロは第1引数が 1
ならば第2引数に、0
ならば無に展開される。
Usage
BOOST_PP_EXPR_IIF(bit, expr)
Arguments
-
bit
: マクロがexpr
に展開されるか無に展開されるかを決定する条件。 この値は0
または1
に展開されなければならない。 -
expr
:bit
が1
のときの展開の結果。
Remarks
このマクロは第1引数に基づいてブーリアン変換を 行わない 。 もしこの変換が必要ならば、代わりに BOOST_PP_EXPR_IF
を使うべきだ。
See Also
Requirements
Header: <boost/preprocessor/control/expr_iif.hpp>
Sample Code
#include <boost/preprocessor/comparison/and.hpp>
#include <boost/preprocessor/control/expr_iif.hpp>
#define INSERT_AND(p, q, text) \
BOOST_PP_EXPR_IIF( \
BOOST_PP_AND(p, q), \
text \
) \
/**/
INSERT_AND(2, 3, abc) // abc に展開される
INSERT_AND(0, 7, xyz) // 無に展開される