Is there any library with STL functions like std::sort()
, std::binary_search()
, std::lower_bound()
, std::upper_bound()
accepting 3-way comparison predicates (which return -1 on less, 0 on equal, 1 on great) instead of less predicate (true on less, false on equal or great) ?
Of course, the less predicate can be easily made out from existing 3-way predicate (like [](A a, B b) { return compare3(a,b)<0; }
) but this results in extra number of calls to the predicate.