BOOST_PP_COMMA_IF
マクロは条件によりコンマに展開される。
Usage
BOOST_PP_COMMA_IF(cond)
Arguments
cond
: マクロがコンマを展開するか空文字を展開するかを決定する条件。 有効な値の範囲は0
からBOOST_PP_LIMIT_MAG
まで。
Remarks
cond
が 0
に展開されれば、このマクロは空文字に展開される。 そうでなければ、コンマに展開される。
プリプロセッサは、コンマをマクロ呼び出しでの引数の区切りとして解釈する。 よって、コンマに対しては特別な対応が必要となる。
See Also
Requirements
Header: <boost/preprocessor/punctuation/comma_if.hpp>
Sample Code
#include <boost/preprocessor/punctuation/comma_if.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>
#define MACRO(z, n, text) BOOST_PP_COMMA_IF(n) text
BOOST_PP_REPEAT(3, MACRO, class) // class, class, class に展開される