24 #ifndef LELY_IO2_EVENT_HPP_
25 #define LELY_IO2_EVENT_HPP_
78 operator~(Event rhs) {
79 return static_cast<Event
>(~static_cast<int>(rhs));
82 constexpr Event operator&(Event lhs, Event rhs) {
83 return static_cast<Event
>(
static_cast<int>(lhs) &
static_cast<int>(rhs));
87 operator^(Event lhs, Event rhs) {
88 return static_cast<Event>(
static_cast<int>(lhs) ^
static_cast<int>(rhs));
92 operator|(Event lhs, Event rhs) {
93 return static_cast<Event>(
static_cast<int>(lhs) |
static_cast<int>(rhs));
97 operator&=(Event& lhs, Event rhs) {
98 return lhs = lhs & rhs;
102 operator^=(Event& lhs, Event rhs) {
103 return lhs = lhs ^ rhs;
107 operator|=(Event& lhs, Event rhs) {
108 return lhs = lhs | rhs;
114 #endif // !LELY_IO2_EVENT_HPP_