template <typename T>
struct Function
Template struct Function
<F
>, where F must be a function type, contains
the following typedefs:
Result: the function's return type.
Arg
<N
>: the type of the N-th argument, where N starts with 0.
ArgumentTuple: the tuple type consisting of all parameters of F.
ArgumentMatcherTuple: the tuple type consisting of Matchers for all
parameters of F.
MakeResultVoid: the function type obtained by substituting void
for the return type of F.
MakeResultIgnoredValue:
the function type obtained by substituting Something
for the return type of F.