Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-04-12 22:31:40


----- Original Message -----
From: "joel de guzman" <djowel_at_[hidden]>

> But why should we pay for the inadequacies of compilers?

Somebody ported Spirit to VC6.5. That made the Spirit code a bit more
complicated, I'm sure. Was it worth it? You didn't reject it, I hear ;-)

> I firmly believe that we should push these compilers hard to
> send a strong message to the compiler makers not to be lax.
> I am having the impression now that MPL's interface was designed
> in part to get around these limitations?

Not really. There is one area where you commonly use a different
construct for portability: when invoking a metafunction in certain
contexts, you write:

    mpl::apply<function, arg1, arg2>::type

instead of:

    function::template apply<arg1, arg2>::type

hmm, it's shorter the portable way ;-)

MPL lambda expressions don't work with VC6.x, BTW, so it's not as though
the design is limited by MSVC support.

> If so, this is not a good sign.

Rest easy ;-)

> > 5) (IMO) The above is too low-level, and harder to parse and
understand when
> > the original 'fold' version.
>
> Sorry, but I do not agree. Peter's and Andrei's versions are
> easier to understand. At least for me (no offense meant :-)

Even I have to agree with that part.

-Dave


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