
Hello, I need to copy a range_c into a vector_c because I need to transform that sequence, and I have difficulties transforming range_c . This code works typedef boost::mpl::range_c<std::size_t, 2u, 10> range_t; typedef boost::mpl::vector_c<std::size_t> all_dims1_t; typedef boost::mpl::copy< range_t, boost::mpl::back_inserter<all_dims1_t>
::type all_dims_t;
but then I need the 10 to be a template parameter, so I wrap it in this struct template <std::size_t max_dim> struct S { typedef boost::mpl::range_c<std::size_t, 2u, max_dim> range_t; typedef boost::mpl::vector_c<std::size_t> all_dims1_t; typedef boost::mpl::copy< range_t, boost::mpl::back_inserter<all_dims1_t>
::type all_dims_t; };
The error is: error: type 'boost::mpl::copy<...>' is not derived from type 'S<max_dim>' Really strange? Regards,