Boost logo

Boost :

From: Paul Mensonides (pmenso57_at_[hidden])
Date: 2004-09-03 01:07:42


> -----Original Message-----
> From: boost-bounces_at_[hidden]
> [mailto:boost-bounces_at_[hidden]] On Behalf Of Toon Knapen

> results in attachment.

Thanks Toon. Can you try this one? It is the original example with
TUPLE_EAT(2) replaced by TUPLE_EAT_2.

////

#include <boost/preprocessor/detail/split.hpp>
#include <boost/preprocessor/punctuation/comma.hpp>
#include <boost/preprocessor/punctuation/paren.hpp>
#include <boost/preprocessor/tuple/eat.hpp>

#define IS_NULLARY(x) \
    BOOST_PP_SPLIT(1, IS_NULLARY_C x BOOST_PP_COMMA() 0) \
    /**/
#define IS_NULLARY_C() \
    ~, 1 BOOST_PP_RPAREN() \
    BOOST_PP_TUPLE_EAT_2 BOOST_PP_LPAREN() ~ \
    /**/

IS_NULLARY(()) // 1
IS_NULLARY(()abc) // 1
IS_NULLARY(+) // 0
IS_NULLARY(xyz) // 0

#define IS_UNARY(x) IS_NULLARY(IS_UNARY_C x)
#define IS_UNARY_C(a) ()

IS_UNARY((a)) // 1
IS_UNARY((a)abc) // 1
IS_UNARY(+) // 0
IS_UNARY(xyz) // 0

////

Regards,
Paul Mensonides


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