私は単に汎用オブジェクトファクトリを作成し、ブーストプリプロセッサメタライブラリを使用して可変テンプレートを作成していました(2010を使用していて、それらをサポートしていません)。私の関数はrval参照を使用std::forward
し、完全な転送を行うため、私は考えさせられました... C ++ 0Xが出て、標準のコンパイラーがあったとき、実際の可変テンプレートでこれを行います。それでも、私std::forward
は議論を呼びかけますか?
template <typename ...Params>
void f(Params... params) // how do I say these are rvalue reference?
{
y(std::forward(...params)); //? - I doubt this would work.
}
私が考えることができる唯一の方法は... paramsを手動で解凍することを必要とするでしょう、そして私はまだそこにもまだありません。機能するより速い構文はありますか?
void f(Params&& ...params)