fusion: work of 4 sequences at the same time
Hi, I am trying to apply fusion::for_each on a sequence, but inside the unary functor applied to each element, I need to know the index of the element in question, because I need to extract elements with the same index from other sequences. fusion::vector<...> fseq1; fusion::vector<...> fseq2; fusion::vector<...> fseq3; fusion::vector<...> fseq4; fusion::for_each( fseq1, functor<...>(fseq2, fseq3, fseq4) ); template <typename Seq2, typename Seq3, typename Seq4) struct functor { /// ctor template <typename T> void operator()( const T& t) const { /// find out index of t in fseq1, /// use elements from fseq2,3,4 at the same index } }; I could use boost::fusion::find to get an iterator and then get its index, but this doesn not look clean, Any ideas, Rds,
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of Rutger ter Borg Sent: 18 February 2010 18:09 To: boost-users@lists.boost.org Subject: Re: [Boost-users] fusion: work of 4 sequences at the same time
Hicham Mouline wrote:
I could use boost::fusion::find to get an iterator and then get its
index,
but this doesn not look clean,
Any ideas,
I would recommend to take a look at the zip_view stuff.
Cheers,
Rutger
Will do, thanks, In the mean time, the fusion::vector4<> that fusion::zip manufactures is made of const-ref of the types of the 4 sequences. To change 1 of the sequences, I need to const_cast away the constness. I guess zip_view addresses this constness issue, Rds,
participants (2)
-
Hicham Mouline
-
Rutger ter Borg