C ++ Boost绑定值类型

时间:2010-04-29 23:21:27

标签: c++ boost bind

我查看文档和源代码,但无法弄清楚如何获取boost绑定仿函数的返回值类型。 我正在努力完成以下任务:

 35 template<typename T,size_t N, class F>
 36 boost::array<typename F::value_type, N> make_array(T (&input)[N], F unary) {
 37     boost::array<typename F::value_type, N> array;
 38     std::transform(input, input + N, array.begin(), unary);
 39     return array;
 40 }

其中F可以绑定仿函数。以上不起作用,因为functor没有value_type。就此而言,就返回值而言,是否有一元/二元仿函数的标准接口。

解决方案:它应该是result_type。对于二元函数,也等效定义为argument_typefirst/second_argument_type

由于

1 个答案:

答案 0 :(得分:3)

卫生署。没关系,它是result_type而不是value_type。我应该删除这个问题吗?