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
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