C ++ Boost函数比较

时间:2010-07-14 10:37:37

标签: c++ boost-function

我有一个包含boost :: function作为其参数之一的类。我必须使这个类平等可比,但boost :: function不是可比性的。这个问题有一个简单的解决方法吗?

谢谢, 戈库尔。

1 个答案:

答案 0 :(得分:2)

boost :: function不是eq_compare,因为有很好的方法可以处理许多仿函数不是eq_compare的事实。以下是对此的一些见解:http://www.boost.org/doc/libs/1_35_0/doc/html/function/faq.html#id690470

不幸的是,提升决定不提供基于政策的方法,这将允许我们选择替代方案,即“仅具有可比较的仿函数或破坏”的实现,让我们在这里留下一点点。对于这种情况可能会有一些糟糕的解决方法,但我建议:

  1. ditch boost :: function完全自动滚动你自己,真的需要这个eq_comparable东西。 或
  2. 查看您的问题是否可以通过非常不同的方式解决。例如,许多人使用函数<>实现一种事件系统。如果是这种情况,那么你应该看一下boost :: signals。