MAC(...)
渡された最初の引数を除くすべてに展開されるマクロが必要です。どうすればこれを達成できますか?
__VA_ARGS__
私の最初の考えは、を aに変換してから操作BOOST_PP_TUPLE
を行うことでしたPOP_FRONT
:
#define MAC(...)\
BOOST_PP_TUPLE_POP_FRONT(BOOST_PP_VARIADIC_TO_TUPLE(__VA_ARGS__))
MAC(1,2,3)
しかし、これは単純に次のように展開されます
BOOST_PP_TUPLE_POP_FRONT((1,2,3))
BOOST_PP_EXPAND
マクロを追加してみました:
#define MAC(...)\
BOOST_PP_EXPAND(\
BOOST_PP_TUPLE_POP_FRONT BOOST_PP_VARIADIC_TO_TUPLE(__VA_ARGS__))
MAC(1,2,3)
しかし、私は同じ結果を得ます。私が欲しいのはの出力です
2、3
どうすればこれを達成できますか?
テンプレートを使用することはオプションではなく、他のライブラリやツール ( 以外boost
) を使用することもできません。