最終更新日時:
が更新

履歴 編集

BOOST_PP_APPLY

BOOST_PP_APPLY マクロは、その引数と空文字との違いを吸収する。

Usage

BOOST_PP_APPLY(x)

Arguments

  • x : 取り出された引数。 この引数は BOOST_PP_NIL か、または (arg)((a, b)) のような一要素のタプルである。

Remarks

xBOOST_PP_NIL ならば、このマクロは空文字に展開される。 x が一要素のタプルならば、そのタプルの内容に展開される。

See Also

  • BOOST_PP_NIL

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 に展開される