BOOST_PP_APPLY
マクロは、その引数と空文字との違いを吸収する。
Usage
BOOST_PP_APPLY(x)
Arguments
x
: 取り出された引数。 この引数はBOOST_PP_NIL
か、または(arg)
や((a, b))
のような一要素のタプルである。
Remarks
x
が BOOST_PP_NIL
ならば、このマクロは空文字に展開される。 x
が一要素のタプルならば、そのタプルの内容に展開される。
See Also
Requirements
Header: <boost/preprocessor/facilities/apply.hpp>
Sample Code
#include <boost/preprocessor/facilities/apply.hpp>
#include <boost/preprocessor/tuple/elem.hpp>
# define CV(i) \
BOOST_PP_APPLY( \
BOOST_PP_TUPLE_ELEM( \
4, i, \
(BOOST_PP_NIL, (const), (volatile), (const volatile)) \
) \
) \
/**/
CV(0) // 無くなる
CV(1) // const に展開される