|
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