
On Tue, 25 Sep 2012 15:33:57 -0400, Kitten, Nicholas wrote:
#define SEQ (a,b,c)(1,2,3,4) BOOST_PP_VARIADIC_SEQ_TO_SEQ( SEQ ) // expands to ((a,b,c))((1,2,3,4))
This is probably doable.
1 out of 3... I'll take it :)
VARIADIC_SEQ_TO_SEQ added to trunk (boost/preprocessor/seq/ variadic_seq_to_seq.hpp). Please review and/or test (in larger contexts than using it by itself). If everything appears to work okay, I will merge to the release branch.
Besides the above, adding significant work to Boost.Preprocessor is iterating a dead horse.
I understand why you feel that way, but it doesn't change the sad reality that VC's broken preprocessor (and code using it) is everywhere.
Right, and what will change that sad fact? Attempting to workaround forever isn't working. Similarly, is the whole world supposed to not use variadic templates because VC++ doesn't implement them? At least that's likely to change, but a line needs to be drawn. It is one thing for a workaround to be an implementation detail. It is another when it affects the interface. In the latter case, IMO, the best thing to do is provide the interface that *should* exist and either not support the compilers that don't work or provide some clunkier interface for those compilers. Doing else cripples technological advancement. Regards, Paul Mensonides