6

GoingNative2013 でのタプルの爆発に関する Andrei Alexandrescu の講演を見た人はいますか?

以下は、私がよく理解していないコードです。

template <class F, class... Ts>
auto explode(F&& f, const tuple<Ts...>& t)
    -> typename result_of<F(Ts...)>::type
{
    return Expander<sizeof...(Ts),
       typename result_of<F(Ts...)>::type,
       F,
       const tuple<Ts...>&>::expand(f, t);
}

result_of の F(Ts...) は私を悩ませます。つまり、 F は関数型を表していませんか? 私は R(Ts...) をよく知っていますが、ここの R は戻り型ですが、R があるべき場所で F を使用すると、それが私を夢中にさせるものです...

ここで奇妙な F(Ts...) を理解するのを手伝ってくれる人はいますか?

Andrei Alexandrescu の講演へのリンクは次のとおりです: http://channel9.msdn.com/Events/GoingNative/2013/The-Way-of-the-Exploding-Tuple

4

1 に答える 1