是否可以推导出仿函数的参数类型?

时间:2016-04-22 15:55:12

标签: c++ templates c++14 functor type-deduction

是否有可能推导出仿函数的参数类型?例如:

struct foo {
    int operator()(double, std::string const&) const { return 0; }
};

template<class Foo>
struct bar
{
    using first_argument_type = /* type of the first argument of Foo::operator() */;
    using second_argument_type = /* type of the second argument of Foo::operator() */;
    using return_type = std::result_of_t<Foo(first_argument_type, second_argument_type)>;
};

0 个答案:

没有答案