Boost logo

Boost :

From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2002-07-25 04:58:54


David Brownstein wrote:
> Why not just call it MetaFunctionClass (or
> make_MetaFunctionClass)? It's at least east to read and understand... ;-)

'Cause it's overly long? :) Consider, for instance, this code snippet from
the paper:

typedef bind<
      meta_fun2<logical_or>
    , bind< meta_fun2<less>
        , bind< meta_fun1<size_of>,_1 >
        , int_c<16>
>
    , bind< meta_fun2<boost::is_same>,_1,_2 >
> func;

Now, we replace 'meta_fun' with 'metafunction_class':

typedef bind<
      metafunction_class2<logical_or>
    , bind< metafunction_class2<less>
        , bind< metafunction_class1<size_of>,_1 >
        , int_c<16>
>
    , bind< metafunction_class2<boost::is_same>,_1,_2 >
> func;

Ouch, IMO :). Another question is whether anybody would compose
metafunctions in this way in the first place, considering that lambda
notation is available on all compilers now.

Aleksey


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