#include // uncomment to get it working #include #include #include #include struct f1 { template struct apply { typedef typename T1::type type; }; }; typedef boost::mpl::bind2 f2; typedef boost::mpl::vector f3; typedef boost::mpl::reverse_iter_fold< f3, int, f2 >::type f4; int main() { f4 x; }