template <typename F, typename = void>

struct SignatureOf

The SignatureOf

<F

> struct is a meta-function returning function signature

corresponding to the provided F argument.

It makes use of MockFunction easier by allowing it to accept more F arguments

than just function signatures.

Specializations provided here cover a signature type itself and any template

that can be parameterized with a signature, including std::function and

boost::function.