7 Jul
2016
7 Jul
'16
4:19 p.m.
On 6 July 2016 at 22:27, Cherotek Music
Hi, I'm trying to make a macro chain that expands something like this
*A, B, C*
into something like this
*{"A", create<AFile>}, {"B", create<BFile>}, {"C", create<CFile>}*
This is what I have come up with
*#define FORMATS A, B, C // Add new formats here* *#define SEQ_FORMATS BOOST_PP_VARIADIC_TO_SEQ(FORMATS)* *#define ARG_PAIR(s, data, x) {#x, create
}* *#define SEQ_ARG_PAIRS BOOST_PP_SEQ_TRANSFORM(ARG_PAIR, ~, SEQ_FORMATS)* *#define ARG_PAIRS BOOST_PP_SEQ_ENUM(SEQ_ARG_PAIRS)*
Use BOOST_PP_ENUM with BOOST_PP_SEQ_SIZE and BOOST_PP_SEQ_ELEM instead of BOOST_PP_SEQ_TRANSFORM+BOOST_PP_SEQ_ENUM.