Boost logo

Boost :

From: Alberto Ganesh Barbati (abarbati_at_[hidden])
Date: 2006-01-21 14:56:24


Hi,

this post originates from thread "concatenation of power of negative
number" in comp.std.c++ (http://tinyurl.com/asn95). Consider this file:

----
#include <boost/preprocessor/cat.hpp>
BOOST_PP_CAT(1e, -1)
----
According to Paul Mensonides' reply in the thread, it should be
eventually interpreted as
  <1e> ## <-> <1>
thus the pp-number "1e" is concatenated with "-" obtaining the pp-number
"1e-" and then "1" is appended as a separate token. The final result
would thus be "1e- 1" (notice the blank between "-" and "1").
However, if run into Wave, the program above produces the error message:
error: pasting the following two tokens does not give a valid
preprocessing token: "e" and "-"
Who's right? I'd agree with Paul Mensonides, because "1e" is a valid pp
token which is to be formed before applying the ## operator. But my
understanding is quite limited in this area so I commit myself to the Gurus.
Ganesh

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