23#ifndef VAL_INT_COMPARE_INCLUDED
24#define VAL_INT_COMPARE_INCLUDED
58 if (lhs_is_neg != rhs_is_neg)
63 return lhs.
val() < rhs.
val();
66 return std::less<ulonglong>()(lhs.
val(), rhs.
val());
72 if (lhs_is_neg != rhs_is_neg)
77 return lhs.
val() == rhs.
val();
81 return lhs < rhs || lhs == rhs;
Holds value/unsigned_flag for the result of val_int(), so that we can compare with operator<(),...
Definition: val_int_compare.h:35
const bool m_unsigned_flag
Definition: val_int_compare.h:52
constexpr longlong val() const
Definition: val_int_compare.h:40
constexpr bool is_negative() const
Definition: val_int_compare.h:48
ulonglong val_unsigned() const
Definition: val_int_compare.h:43
constexpr Integer_value(longlong val, bool unsigned_flag)
Definition: val_int_compare.h:37
constexpr bool is_unsigned() const
Definition: val_int_compare.h:41
const longlong m_val
Definition: val_int_compare.h:51
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
long long int longlong
Definition: my_inttypes.h:54
bool operator<=(const Integer_value &lhs, const Integer_value &rhs)
Definition: val_int_compare.h:80
bool operator==(const Integer_value &lhs, const Integer_value &rhs)
Definition: val_int_compare.h:69
bool operator<(const Integer_value &lhs, const Integer_value &rhs)
Definition: val_int_compare.h:55