std::result_of is a C++11 metafunction that provides the result of calling a function type with a given set of argument types.
The class template std::result_of
is defined in the C++11 standard library and is a type transformation trait i.e. a metafunction that takes one type and produces another type.
The nested type std::result_of<F(A, B, C)>::type
is a typedef for the type that would be returned by the expression f(a, b, c)
for a callable object f
of type F
and arguments of types A
, B
and C
.