#include #include #include using namespace boost::fusion; struct F{ template struct result; template struct result{ typedef void type; }; void operator()(int const &) const{} }; int t(int i){ return i; } int main(){ vector const vec(5); invoke(F(),vec); invoke(F(),transform(vec,&t)); }