I'm looking at the following piece of code written by a colleague.
template <size_t N> struct Apply {
template <typename F, typename T> static FORCE_INLINE void apply(F &&f, T &&t) {
Apply<N - 1>::apply(::std::forward<F>(f), ::std::forward<T>(t));
::std::forward<F>(f)(::std::get<N>(::std::forward<T>(t)));
}
};
Am I correct in thinking that there is a use after move of f here?