
on Thu Feb 12 2009, Ion GaztaƱaga <igaztanaga-AT-gmail.com> wrote:
Daniel James wrote:
Does that mean you're not working on it anymore?
No, I'm working on it. Right now writing some Quickbook documentation. But I have a question on perfect forwarding: has anybody implemented perfect forwarding using boost preprocessor?
I mean something that generates a call with all the combinations of const and non-const references:
function() function(const T0 &t0) function(T0 &t0) function(const T0 &t0, const T1 &t1) function(const T0 &t0, T1 &t1) function(T0 &t0, const T1 &t1) function(T0 &t0, T1 &t1) //....
Yeah, I did. And then Paul Mensonides optimized it for me, although I'm not sure I know how to find that version. Maybe this is that version and I forgot to credit him (if so, sorry, Paul!) http://article.gmane.org/gmane.comp.lib.boost.devel/140159 That's not exactly perfect forwarding, though: it erases rvalue-ness. That means you lose the ability to move from the argument inside the forwarding function. -- Dave Abrahams BoostPro Computing http://www.boostpro.com