
On Sun, Sep 5, 2010 at 3:10 AM, Karsten Ahnert
Hi,
I have a templatized mpl-vector
template< class T > class containers : public mpl::vector< std::vector< T > , std::list< T > , std::deque< T >
{ };
and a mpl-vector holding some types:
typedef mpl::vector< float , double , long double >::type my_types;
Is there a simple way to build a mpl vector which contains the elements of the first vector with template arguments of the second vector, hence
mpl:vector< std::vector< float > , std::vector< double > , std::vector< long double > , std::list< float > , std::list< double > , std::list< long double > , std::deque< float > , std::deque< double > , std::deque< long double >
I can do this manually with mpl::insert_range
typedef mpl::insert_range< mpl::vector0<> , mpl::end< mpl::vector0<> >::type , containers< mpl::at< my_types , mpl::int_<0> >::type >
::type first;
typedef mpl::insert_range< first , mpl::end< first >::type , containers< mpl::at< my_types , mpl::int_<1> >::type >
::type second;
typedef mpl::insert_range< second , mpl::end< second >::type , containers< mpl::at< my_types , mpl::int_<2> >::type >
::type all_containers;
But this way is not very elegant. Does some has any hints how to do this automatically?
Try:
typedef copy