(1) (since C++14) template< class T > using result_of_t = typename result_of<T>::type; //(deprecated in C++17) (2) (since C++17) template< class F, class... ArgTypes> using invoke_result_t = typename invoke_result<F, ArgTypes...>::type;