11 #ifndef INCLUDE_MOLASSEMBLER_TEMPLE_OPERATOR_SUPPLIERS_H
12 #define INCLUDE_MOLASSEMBLER_TEMPLE_OPERATOR_SUPPLIERS_H
15 namespace Molassembler {
25 const auto& lhs =
static_cast<const T&
>(*this);
26 const auto& rhs =
static_cast<const T&
>(other);
36 return static_cast<const T&
>(base);
40 const T& lhs = derived(*
this);
41 const T& rhs = derived(other);
42 return !(lhs < rhs) && !(rhs < lhs);
46 const T& lhs = derived(*
this);
47 const T& rhs = derived(other);
48 return (lhs < rhs) || (rhs < lhs);
52 return derived(other) < derived(*
this);
56 return !(derived(other) < derived(*
this));
60 return !(derived(*
this) < derived(other));
80 return static_cast<const T&
>(base);
84 return derived(*this).tie() == derived(other).tie();
88 return derived(*this).tie() != derived(other).tie();
92 return derived(*this).tie() < derived(other).tie();
96 return derived(*this).tie() <= derived(other).tie();
100 return derived(*this).tie() > derived(other).tie();
104 return derived(*this).tie() >= derived(other).tie();
Supplies the inequality operator from an implemented equality operator.
Definition: OperatorSuppliers.h:23
Generates all operators using a method returning a tuple.
Definition: OperatorSuppliers.h:78
Supplies all operators from an implemented less-than operator.
Definition: OperatorSuppliers.h:34