
On 10/17/2010 6:38 PM, David Abrahams wrote:
At Sun, 17 Oct 2010 13:01:08 +0800, Joel de Guzman wrote:
You could approximate it for up to 3-5 arguments. But you can't actually do it perfectly in C++03 even for 1 argument because you will erase rvalue-ness no matter what.
Yeah, that's what we do for 03. Let's call it less-than-perfect forwarding. It's the best we can do. Right now we have a PP constant for that. Mind you, even 3 args is still quite expensive! Then we have 2 more PP constants for all refs and another for all const refs.
I think it's only useful to have one of those be higher than the first PP constant, because you'll just get ambiguities.
Yep. That's how it's done AFAIK. Cheers, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net