From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2003-04-11 22:47:21


Paul Mensonides wrote:
> > That's too bad. But suppose I am willing to spell all non-alphabetic
> > tokens as macros, e.g.
> >
> > BOOST_PP_PLUS text BOOST_PP_PLUS
> >
> > for your above example - would it change anything?
>
> I can deal with that, no problem. However, that makes it worse, IMO.

It depends, IMO. I _think_ I would prefer

    METACOMM_FORWARDING_CONSTRUCTORS(
          10
        , heap_storage
        , BOOST_PP_COLON m_object BOOST_PP_PARENS( new T BOOST_PP_PARENS( _1
) )
            BOOST_PP_BRACES()
        )

    // template< typename A0, ..., typename An >
    // heap_storage( A0 a0, ..., An an )
    // : m_object( new T( unwrap_ref(a0), ..., unwrap_ref(an) ) )
    // {}

to this one

    METACOMM_FORWARDING_CONSTRUCTORS(
          10
        , heap_storage
        , ( :, m_object, (, new T (, (0), ), ), {,} )
        )

The former seems much easier to comprehend even although it's definitely
more verbose. YMMV, of course.

Aleksey