Boost logo

Boost Users :

Subject: Re: [Boost-users] [fusion] at_key + for_each
From: Christopher Schmidt (mr.chr.schmidt_at_[hidden])
Date: 2010-05-04 12:25:02


Denis Taniguchi schrieb:
> Hi,
>
> I was trying to implement something equivalent to the following piece of
> code:
>
> template<class Field1, class Field2, ... , class FieldN, class Range,
> class Function>
> Function for_each(Range&r, Function f)
> {
> using namespace boost;
> using namespace boost::fusion;
>
> BOOST_FOREACH(typename range_value<Range>::type&v, r)
> {
> at_key<Field1>(v) = f(at_key<Field2>(v), at_key<Field3>(v), ... ,
> at_key<FieldN>(v));
> }
> return f;
> }
>
> Is there a simple way to do this using fusion's current functionalities?

If you pass Field2...FieldN wrapped in a mpl sequence, its quiete
simple. See the attached code for an example implementation.

-Christopher




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