24 #ifndef LELY_IO2_CAN_MSG_HPP_
25 #define LELY_IO2_CAN_MSG_HPP_
63 #endif // !LELY_NO_CANFD
68 operator~(CanFlag rhs) {
69 return static_cast<CanFlag
>(~static_cast<int>(rhs));
73 operator&(CanFlag lhs, CanFlag rhs) {
74 return static_cast<CanFlag
>(
static_cast<int>(lhs) &
static_cast<int>(rhs));
78 operator^(CanFlag lhs, CanFlag rhs) {
79 return static_cast<CanFlag>(
static_cast<int>(lhs) ^
static_cast<int>(rhs));
83 operator|(CanFlag lhs, CanFlag rhs) {
84 return static_cast<CanFlag>(
static_cast<int>(lhs) |
static_cast<int>(rhs));
88 operator&=(CanFlag& lhs, CanFlag rhs) {
89 return lhs = lhs & rhs;
93 operator^=(CanFlag& lhs, CanFlag rhs) {
94 return lhs = lhs ^ rhs;
98 operator|=(CanFlag& lhs, CanFlag rhs) {
99 return lhs = lhs | rhs;
105 #endif // !LELY_IO2_CAN_MSG_HPP_