Hi, thanks for your answer! Unfortunately my problem is not calculating the correct types (like fusion::vector<A&,B&,C&> from the Tuple). As my example suggests, I have a problem of creating the actual object after deducing the correct types. One of the errors I get is for example( after using const_cast to get the correct reference, see problem 1.): boost/include/boost/fusion/container/vector/detail/preprocessed/vector10.hpp:101:9: error: value-initialization of ‘int& boost::fusion::vector_data2<int&, double&> >::m0’, which has reference type in the sequence constructor of vector_data2. So what happens is that fusion::vector assumes, that m0 is default constructible (references are not) and that then every object can be set to the correct value with operator= (which is not possible for references). Greetings, Oswin On 2012-08-03 16:26, Christopher Schmidt wrote:
"Oswin Krause" <Oswin.Krause@ruhr-uni-bochum.de> writes:
I have a fusion vector which looks a bit like
typedef fusion::vector<std::vector<A>,std::vector<B>,std::vector<C>
Tuple;
All vectors have the same size and I want from each of these std::vectors one specific element (like the 10th from every vector) and create a fusion::vector<A&,B&,C&> from these elements(my real problem is a bit more complicated, for example one of the vectors might be std::vector<bool>, so the type might be different from an actual reference) [...] Any solution to my problem? It should work for fusion::vector, but a solution which works for all fusion sequences is awarded with bonus points :). If there is no solution for fusion::vector, I would appreciate a solution for another container as well (but no bonus in this case!)
This problem can easily be solved using Boost.MPL. (Including <boost/fusion/mpl.hpp> will make all Fusion container types valid MPL sequences.)
Christopher _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users