Boost logo

Boost Users :

From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2008-07-14 13:40:30


AMDG

Maximilian Matthe wrote:
> Hi!
>
> I'm developing with preprocessor a class generator,
> that generates the wrapper classes needed by boost.python when
> you want to derive in python from polymorph c++-base classes.
>
> I would need a Macro that expands to "return" if its argument is
> not void. I tried the following, but that obiously does not work:
>
> #define Return(type) \
> BOOST_PP_EXPR_IF(BOOST_PP_NOT_EQUAL(type, void), return)
>
> I made a workaround by adding an integer value to my Array that
> defines the methods signature. But that is redundant.
>
> Is there a way to achieve the behaviour above?

It's possible (See BOOST_MPL_PP_TOKEN_EQUAL) but
it's probably easier to use void returns:

void f();

void g() {
    return f();
}

In Christ,
Steven Watanabe


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net