On Mon, Jun 18, 2012 at 10:35 AM, Jeremiah Willcock <jewillco@osl.iu.edu> wrote:
Boost.Preprocessor has a macro BOOST_PP_INTERCEPT to eat a numeric value that it is token-concatenated onto.  Is there a similar macro that just returns the value?  I.e., some BOOST_PP_EMPTY_FOR_CONCAT such that BOOST_PP_EMPTY_FOR_CONCAT ## 3 turns into 3?  As with BOOST_PP_INTERCEPT, it only needs to work for small integer values.  Is there some other technique I can use for this?  I am using it to generate std::get<> invocations in BOOST_PP_ENUM_BINARY_PARAMS.  Thank you for your help.

I don't know any such facility in Boost.PP, but it's pretty trivial to generate:

#define X0 0
#define X1 1
#define X2 2
// etc.

...which makes me think I might be overlooking something in Boost.PP :/

Somewhat related: what do your ENUM_BINARY_PARAMS invocations look like? I know I've gotten away with cat'ing template parameter delimiters ("<" and ">") against preprocessor integer tokens.

Probably not really helping,

- Jeff