|
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