
Larry Evans wrote:
On 12/16/2006 10:23 AM, SourceForge.net wrote:
Bugs item #1617058, was opened at 2006-12-16 10:23 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1617058&group_id=7586
[snip]
Initial Comment: he 3 expression requirements on:
http://www.boost.org/libs/mpl/doc/refmanual/placeholder-expression.html
make no mention that X should have a nested type typedef. IOW, X must be a metafunction as defined here:
http://www.boost.org/libs/mpl/doc/refmanual/metafunction.html
However, I believe it should since I'm getting compile-time error messages without the nested typedef.
The tuple_methods_proto.cpp in <boost-vauilt>/Template Metaprogramming demonstates the problem.
The problem is not with MPL lambda. The problem is here: struct method_types<wrap_method_name<m_0>, TailMethods, FFC> : TailMethods {...}; TailMethods inherits from mpl::inherit2<field_types<f_0>, field_types<f_1> > which look like struct mpl::inherit2 : T1, T2 { typedef inherit2 type; }; So, when you do not define type you inherit the base class version and applied_phe becomes mpl::inherit2<field_types<f_0>, field_types<f_1> >. In Christ, Steven Watanabe