Boost logo

Boost :

From: Markus Werle (numerical.simulation_at_[hidden])
Date: 2003-11-26 03:46:25


David Abrahams wrote:

> Markus Werle <numerical.simulation_at_[hidden]> writes:
>> David Abrahams wrote:
>>> It's *much* harder to get
>>> Borland to jump through many template hoops correctly than it is vc6.
>>> That's ameliorated somewhat by MPL, but not even all of MPL supports
>>> Borland IIUC (lambda exprs).
>>
>> But then: why support it anyway?
>
> I'm not saying you should (although IMO there are obvious
> reasons to do so, which of course may not outweigh the
> costs for you)

Help me. What reasons are _obvious_ to do so?
I mean, take a look at mpl files.
Text like this one

template<
      typename BOOST_MPL_AUX_VOID_SPEC_PARAM(Sequence)
    , typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T)
>
struct push_back
    : push_back_traits< typename BOOST_MPL_AUX_SEQUENCE_TAG(Sequence) >
        ::template algorithm< Sequence,T >
{
    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_back,(Sequence,T))
};

where it takes me a long time to figure out what is meant here,
just makes me think the opposite way. If people have to learn
macros to understand my code - is it worth the pain?

In other words: All EDG-based compilers and gcc-3.4 (in a few weeks)
do or will support the stuff we need. So at least 4 compilers
(Intel C++, Comeau, NEC and gcc) support all this without
macros. This means the code can be compiled on 90% of all computer
platforms.

I am really concerned about this.
Should I still use those macros - and precisely why?

Markus

-- 
Build your own Expression Template Library with Daixtrose!
Visit http://daixtrose.sourceforge.net/ 

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