How would one call std::forward on all arguments in a variadic function?

Posted by Noah Roberts on Stack Overflow See other posts from Stack Overflow or by Noah Roberts
Published on 2010-05-12T17:28:11Z Indexed on 2010/05/12 17:34 UTC
Read the original article Hit count: 139

Filed under:
|

I was just writing a generic object factory and using the boost preprocessor meta-library to make a variadic template (using 2010 and it doesn't support them). My function uses rval references and std::forward to do perfect forwarding and it got me thinking...when C++0X comes out and I had a standard compiler I would do this with real variadic templates. How though, would I call std::forward on the arguments?

template < typename ... Params > void f(Params ... params) // how do I say these are rvalue reference? { y(std::forward(...params)); //? - I doubt this would work. }

Only way I can think of would require manual unpacking of ...params and I'm not quite there yet either. Is there a quicker syntax that would work?

© Stack Overflow or respective owner

Related posts about c++

Related posts about c++0x