Boost logo

Boost :

From: Arkadiy Vertleyb (vertleyb_at_[hidden])
Date: 2005-02-17 16:02:16


Hi,

Suppose I have the following macro:

#define DO(x)\
  BOOST_PP_CAT(STEP3, BOOST_PP_CAT(STEP2, BOOST_PP_EXPAND(STEP1 x)))

#define STEP2STEP1

Now, DO(5) should IMO expand into STEP35. For some reason, VC71 expands it
into STEP3 5. Where does the space come from? Can one CAT two tokens, and
get a space between them? Is it a bug in VC71 or is it supposed to be like
this?

If I use BOOST_PP_SEQ_CAT outside, it does what I expect. Can anybody
explain why?

(the above exersize may not make sence out of context. I don't think the
context is relevant, although I can provide it if necessary)

Thanks in advance.

Regards,
Arkadiy


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk