#include #include #include using namespace boost::mpl; struct foo { template struct apply { typedef T type; }; }; int main() { typedef transform< vector, apply1 >::type t1; }