$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Mixing protocol
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2009-01-15 14:35:04
AMDG
Joel Falcou wrote:
> So far BOOST proposes various prtocols for meta-function :
>
> - the result_of protocol
> - the apply<> protocol of MPL
> - the ::type protocol of traits
>
> Can those protocols be mixed somehow without any side-effects when used
> with the various aforementionned protocol ?
What do you mean by mixed?
result_of looks for a nested result or result_type only. It is
unaffected by apply/type.
MPL uses both apply and type and also has a metafunction called apply:
struct identity {
template<class T>
struct apply {
typedef T type;
};
};
typedef mpl::apply<identity, int>::type int_;
boost::mpl::apply is generally preferable, because it works
with MPL Lambda expressions as well as metafunction classes.
In Christ,
Steven Watanabe