Boost logo

Boost Users :

From: Ovanes Markarian (om_boost_at_[hidden])
Date: 2008-05-20 06:59:34


Hi, Sebastia!

Please use boost::reference_wrapper to disable copying...

mpl::for_each< mpl::vector<bool, double>, worker_t& >(boost::ref(workit));

Hope that helps.

Ovanes

On Tue, May 20, 2008 at 8:35 AM, Sebastian Weber <
sebastian.weber_at_[hidden]> wrote:

> Hi there!
>
> I'm currently struggling with mpl::for_each: It copies my
> function object no matter what I do. Here is some dummy code:
>
> worker_t workit; // the worker object which recieves the
> different types and has an internal state
>
> mpl::for_each< mpl::vector<bool, double>, worker_t& >(workit);
>
> Now, the workit object becomes copied which is clear from
> the sources. However, I explicitly requested it not to be
> copied by the hint of giving the reference worker_t& as a
> template parameter.
>
> Maybe this behaviour is wanted, but I do not see the reason.
> In the fusion-world this is the way to go if one wants to
> prevent copying of function objects.
>
> Is this now a bug or a feature and how can I fix it (quick).
>
> Greetings,
>
> Sebastian
>



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