
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