Boost::MPL Vector and For_Each: how to print avect

2019-05-11 08:49发布

问题:

So imagine we had a mpl::vector we want to print (cout for example) it as such string: int, string, char. How to do such thing with boost::mpl?

回答1:

Make a functor and call boost::for_each:

struct print_class_name {
    template <typename T>
    void operator()( T t ) const {
       std::cout << typeid(t).name() << " ";
    }
};

boost::mpl::for_each< Sequence >(print_class_name());