New paper: N3579, A type trait for signatures -- Mike Spertus
A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.
Document number: N3579
Date: 2013-03-15
A type trait for signatures
by Mike Spertus
Excerpt:
We propose a (compiler-supported) type trait
std::signaturewhose type typedef is the function type of the callable object when called with the given parameter types.For example, if we define
Casstruct C { int operator()(double d, int i); int operator()(double d1, double d2); };then
std::signature<C(int, int)>::typewould beint(double, double). More precisely the return type ofsignature<Fn(ArgTypes...)>isresult_of<Fn(ArgTypes...)>and each argument type is the same as the formal parameter type matched in the call toFn. For more detailed information, see the use cases and wording below.
