Boost logo

Boost Users :

Subject: Re: [Boost-users] [fusion] creating fusion-vectors of references
From: Oswin Krause (Oswin.Krause_at_[hidden])
Date: 2012-08-03 10:37:45


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_at_[hidden]> 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_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users


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