From http://stdcxx.apache.org/doc/stdlibref/less-equal.html:
You can pass aless_equal
object to any algorithm that requires a binary function. For example, thesort()
algorithm can accept a binary function as an alternate comparison object to sort a sequence.less_equal
would be used in that algorithm in the following manner:vector<int> vec1; sort(vec1.begin(), vec1.end(), less_equal<int>());
Now I am confused, is the documentation above correct ?
You are right, std::sort
requires the comparer to define a strict weak ordering.
Which means that std::less_equal
should not be used with std::sort
. It can still be used with a number of other standard algorithms though, which take a binary function and which do not have the strict weak ordering requirement.