Boost logo

Boost Users :

From: Christian Henning (chhenning_at_[hidden])
Date: 2007-03-15 17:36:12


Thanks Chris, good hints. Here is my solution:

#include <vector>

#include <boost/mpl/assert.hpp>
#include <boost/mpl/equal.hpp>
#include <boost/mpl/list.hpp>
#include <boost/mpl/transform.hpp>

#include <boost/type_traits/add_pointer.hpp>

//using namespace boost::fusion;
using namespace boost;
using namespace boost::mpl;

template <typename T>
struct add_vector
{
    typedef std::vector<T> type;
};

struct A;
struct B;
struct C;

int main()
{
   typedef list< A, B, C > types;
   typedef list< std::vector<A>, std::vector<B>, std::vector<C> >
vector_of_types;

   typedef transform1< types, add_vector<_1> >::type result;
   BOOST_MPL_ASSERT(( equal<vector_of_types,result> ));

   return 0;
}


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net