18 typedef uint8_t InternalType;
29 explicit ByteBool(
bool b)
35 ByteBool& operator=(
bool b)
51 bool operator==(ByteBool rhs)
const {
return !!m_val == !!rhs.m_val; }
56 bool operator==(
bool rhs)
const {
return !!m_val == rhs; }
61 bool operator<(ByteBool rhs)
const {
return !!m_val < !!rhs.m_val; }
66 bool operator<(
bool rhs)
const {
return !!m_val < rhs; }
73inline bool operator==(
bool lhs, ByteBool rhs) {
return rhs.operator==(lhs); }
79inline bool operator!=(ByteBool lhs, ByteBool rhs) {
return !lhs.operator==(rhs); }
85inline bool operator!=(ByteBool lhs,
bool rhs) {
return !lhs.operator==(rhs); }
97inline bool operator<(
bool lhs, ByteBool rhs) {
return (lhs != rhs) && !(rhs < lhs); }
100static_assert(
sizeof(ByteBool) == 1,
"Size of ByteBool must be 1");
101static_assert(
sizeof(ByteBool[17]) == 17,
"Alignment of ByteBool must be 1");
102static_assert(std::is_standard_layout<ByteBool>::value,
"ByteBool must have Standard Layout");
114struct SelectType<bool>
117 using type = Details::ByteBool;
Definition: db_command.h:9
bool operator!=(ArraySegment< T > a, ArraySegment< T > b)
Definition: array_segment.h:157
constexpr bool operator<(std::nullptr_t, DateTime)
Definition: date_time.h:712
bool operator==(ArraySegment< T > a, ArraySegment< T > b)
Definition: array_segment.h:151