Как я могу специализировать std::greater
с помощью std::rel_ops
? у меня есть что-то вроде этогоспециализируется на std :: больше через std :: rel_ops
#include <utility>
#include <functional>
using namespace std::rel_ops;
struct MyStruct {
int field;
bool operator < (const MyStruct& rhs) const {
return field < rhs.field;
}
};
Так что мне нужно отсортировать элементы в порядке убывания. Как я могу это сделать, используя operator <
, std::rel_ops
и std::greater
?
Почему вы считаете его уродливым? он делает именно то, что он должен делать. – Surt
@Surt Это вопрос мнения, конечно, но если вы хотите других операторов равенства, то вам понадобится 4, используя объявления. С Boost.Operators вы просто извлекаете из 'boost :: total_ordered' (после определения' operator == 'также для вашего типа). – Praetorian
Ну, мне нравится ваше решение, так как оно не требует участия третьей стороны. – Surt