18 typedef uint8_t InternalType;
29 explicit ByteBool(
bool b)
34 bool Equals(
const ByteBool& other)
36 return *
this == other;
43 return !!m_val == other;
49 ByteBool& operator=(
bool b)
65 bool operator==(ByteBool rhs)
const {
return !!m_val == !!rhs.m_val; }
70 bool operator==(
bool rhs)
const {
return !!m_val == rhs; }
75 bool operator<(ByteBool rhs)
const {
return !!m_val < !!rhs.m_val; }
80 bool operator<(
bool rhs)
const {
return !!m_val < rhs; }
87inline bool operator==(
bool lhs, ByteBool rhs) {
return rhs.operator==(lhs); }
93inline bool operator!=(ByteBool lhs, ByteBool rhs) {
return !lhs.operator==(rhs); }
99inline bool operator!=(ByteBool lhs,
bool rhs) {
return !lhs.operator==(rhs); }
111inline bool operator<(
bool lhs, ByteBool rhs) {
return (lhs != rhs) && !(rhs < lhs); }
114static_assert(
sizeof(ByteBool) == 1,
"Size of ByteBool must be 1");
115static_assert(
sizeof(ByteBool[17]) == 17,
"Alignment of ByteBool must be 1");
116static_assert(std::is_standard_layout<ByteBool>::value,
"ByteBool must have Standard Layout");
128struct SelectType<bool>
131 using type = Details::ByteBool;
Definition: db_command.h:9
bool operator!=(ArraySegment< T > a, ArraySegment< T > b)
Definition: array_segment.h:156
bool Equals(const TA &a, const TB &b)
Determines the equality of two values applying operator==() to them.
Definition: primitive_types.h:77
constexpr bool operator<(std::nullptr_t, DateTime)
Definition: date_time.h:712
bool operator==(ArraySegment< T > a, ArraySegment< T > b)
Definition: array_segment.h:150