Вывод типа возвращаемого указателя на функцию

Я думаю, что код будет лучше иллюстрировать мою потребность:

template <typename F>
struct return_type
{
  typedef ??? type;
};

так что:

return_type<int(*)()>::type -> int
return_type<void(*)(int,int)>::type -> void

я знаюdecltype а такжеresult_of но им нужно передать аргументы. Я хочу вывести тип возврата указателя функции из одного параметра шаблона. Я не могу добавить тип возвращаемого значения в качестве параметра, потому что это именно то, что я хочу скрыть здесь ...

Я знаю, что есть решение в boost, но я не могу его использовать, и попытка вытащить его из boost привела к впечатляющей неудаче (как это часто бывает).

Приветствуются решения на C ++ 11 (если они поддерживаются в VS2012).

Ответы на вопрос(1)

Ваш ответ на вопрос