boost :: function is not eq_compare, потому что есть хороший способ справиться с тем фактом, что многие функторы не являются eq_compare. Вот немного проницательности в этом: http://www.boost.org/doc/libs/1_35_0/doc/html/function/faq.html#id690470
К сожалению, сильные стороны решили не применять политический подход, который позволил бы нам выбрать альтернативу, т.е. реализацию «только для сравнения или сравнения», оставив нас немного чучела здесь. Там может быть несколько дрянных обходные пути для этой ситуации, но я хотел бы предложить либо: повышение :: функции
- ров в целом и свернуть свой собственный, если вы действительно, действительно нужна эта eq_comparable вещь. или
- Посмотрите, может ли ваша проблема решить совсем по-другому. Например, многие люди используют функцию <> для реализации своего рода системы событий. Если это так, то вы должны посмотреть на boost :: сигналы.
Какую версию повышения вы используете? Как вы создаете функторы? –
boost 1.43 - последняя версия – Gokul