Boost logo

Boost :

Subject: Re: [boost] Boost.Move Where we are with move semantic emulation on C++03 compilers?
From: David Abrahams (dave_at_[hidden])
Date: 2009-02-12 13:25:44

on Thu Feb 12 2009, Ion Gaztañaga <> 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!)

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

Boost list run by bdawes at, gregod at, cpdaniel at, john at