-----Original Message-----
From: "Thomas Taylor" [thomas.taylor@univie.ac.at]
Date: 02/03/2010 11:49 AM
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] [Fusion] transform / transform_view / binary sequence
iteration
Hi!
Started out with tuple but soon moved to fusion as it suits my needs much
better, so thanks for fusion!
My problem is the following:
list seq2(1,2,3);
list seq1;
struct fa
{
typedef unsigned int result_type;
template
result_type operator()(const S1& s1, const S2& s2) const
{
return s1(s2); // this calls W<A>(A), W<B>(B), W<C>(C)
}
};
struct fb
{
typedef std::vector<unsigned int> result_type;
template <typename T>
result_type operator()(const result_type& a, const T& t) const
{
result_type a2(a);
a2.push_back(t);
return a2;
}
};
accumulate( transform(seq1,seq2,fa()),fb() );
/* The above yields an error:
no matching function for call to
‘accumulate(boost::fusion::transform_view, const
boost::fusion::list,
database::histogram::fb>) */
How can I use a transform_view (the result of transform(S1,S2,F)) as input
for accumulate?
Thank you,
Thomas
_______________________________________________
In my basic experience, this has been a matter of constness.
Checkout fusion docs and make sure you follow exactly the function signatures.
Oh! you need an initial state for accumulate()
rds,