От http://stdcxx.apache.org/doc/stdlibref/less-equal.html
—
Вы можете передать объект less_equal любому алгоритму, для которого требуется двоичная функция. Например, алгоритм sort () может принимать двоичную функцию в качестве альтернативного объекта сравнения для сортировки последовательности. less_equal будет использоваться в этом алгоритме следующим образом:
vector<int> vec1;
sort(vec1.begin(), vec1.end(),less_equal<int>());
—
Теперь я запутался, документация выше верна?
Вы правы, std::sort
требует от компаратора определения строгого слабого порядка.
Который означает, что std::less_equal
не должен использоваться с std::sort
, Тем не менее, он все еще может использоваться с рядом других стандартных алгоритмов, которые принимают двоичную функцию и не имеют строгого требования слабого упорядочения.
Других решений пока нет …