
On Thu, 11 Apr 2013 23:31:07 -0700, Nathan Ridge
Ah, thanks. I was going down the BOOST_PP_SEQ_FOR_EACH path. My algorithm was going to be
#define SEQ (a)(b)(c)(d) #define WRAP(r, data, elem) \ LPAREN_IF(MOD(elem-index,2)) elem COMMA_IF(MOD(elem-index,2)) RPAREN_IF(NOT(MOD(elem-index,2))) SEQ_FOR_EACH(WRAP, ~, SEQ)
But I couldn't figure out how to get the element index.
If you use SEQ_FOR_EACH_I, the element index will be passed in as an extra argument to WRAP.
Ah, thanks. (It would be very helpful if the distinction between SEQ_FOR_EACH_I and SEQ_FOR_EACH was emphasized in the former, preferably in the short description at the top of the reference page for SEQ_FOR_EACH_I.)
BTW, what is the "next available BOOST_PP_FOR repetition" in the ternary macro for SEQ_FOR_EACH?
This is explained in Topics -> Reentrancy in the Boost.PP docs.
Thanks again. (This again demonstrates the need for internal references/links in the documentation. One shouldn't have to read the *whole* documentation to effectively use parts of the library. This is very doable when parts of the library properly link to other relevant and dependent parts.) Thanks for the pointers. Mostafa