Boost logo

Boost :

From: Paul Mensonides (pmenso57_at_[hidden])
Date: 2002-06-16 16:02:32


Before I only tested the implementation Vesa sent me via email. I have now
tested the
implementation on the CVS and have corrected it. Here is what you (or Vesa)
needs to do as I don't have CVS access:

// 'expand.hpp' - add a macro that pushes together its arguments with a delay
#define BOOST_PP_PUSH_EXPAND(a, b) BOOST_PP_DETAIL_EXPAND(a b)

// 'elem.hpp' - redefine TUPLE_ELEM as follows...
#define BOOST_PP_TUPLE_ELEM(SIZE_OF_TUPLE, INDEX, TUPLE) \
    BOOST_PP_PUSH_EXPAND( \
        BOOST_PP_DETAIL_CAT2(BOOST_PP_TUPLE16_ELEM, INDEX), \
        BOOST_PP_DETAIL_CAT2(BOOST_PP_TUPLE_ELEM_EX, SIZE_OF_TUPLE) TUPLE \
    )

That should fix the problem.

You have to give the preprocessor time to think of the result of
BOOST_PP_TUPLE_ELEM_EX.. as a argument list rather than an 'item'.

But the above fixes the problem on both VC++ and Comeau C++.

Paul Mensonides


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