|
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