BOOST_PP_EXPR_IF
マクロは第1引数が 0以外ならば第2引数に、そうでなければ無に展開される。
Usage
BOOST_PP_EXPR_IF(cond, expr)
Arguments
-
cond
: マクロがexpr
に展開されるか無に展開されるかを決定する条件。 有効な値の範囲は0
からBOOST_PP_LIMIT_MAG
まで。 -
expr
:cond
が 0以外のときの展開の結果。
Remarks
このマクロは第1引数に基づいてブーリアン変換を行う。 もしこの変換が不必要ならば、代わりに BOOST_PP_EXPR_IIF
を使うべきだ。
See Also
Requirements
Header: <boost/preprocessor/control/expr_if.hpp>
Sample Code
#include <boost/preprocessor/control/expr_if.hpp>
#include <boost/preprocessor/tuple/elem.hpp>
#define CV(n) \
BOOST_PP_EXPR_IF( \
n, \
BOOST_PP_TUPLE_ELEM( \
4, n, \
(..., const, volatile, const volatile) \
) \
) \
/**/
CV(0) // 無に展開される
CV(1) // const に展開される