1 #ifndef SUBORDINATION_PPL_KERNEL_HEADER_FLAG_HH 2 #define SUBORDINATION_PPL_KERNEL_HEADER_FLAG_HH 6 #include <unistdx/net/bstream> 20 has_source_and_destination = 1,
63 return out << rhs._flag;
67 operator>>(sys::bstream& in, kernel_header_flag& rhs) {
68 return in >> rhs._flag;
71 #define MAKE_UNARY(op) \ 72 inline kernel_header_flag \ 73 operator op(kernel_header_flag rhs) noexcept { \ 74 return op kernel_header_flag::flag_type(rhs); \ 77 #define MAKE_BINARY(op, return_type) \ 79 operator op(kernel_header_flag lhs, kernel_header_flag rhs) noexcept { \ 80 return kernel_header_flag::flag_type(lhs) op kernel_header_flag::flag_type(rhs); \ 83 operator op(kernel_header_flag::flag_enum lhs, kernel_header_flag rhs) noexcept { \ 84 return kernel_header_flag::flag_type(lhs) op kernel_header_flag::flag_type(rhs); \ 87 operator op(kernel_header_flag lhs, kernel_header_flag::flag_enum rhs) noexcept { \ 88 return kernel_header_flag::flag_type(lhs) op kernel_header_flag::flag_type(rhs); \ 92 MAKE_BINARY(|, kernel_header_flag)
93 MAKE_BINARY(&, kernel_header_flag)
94 MAKE_BINARY(^, kernel_header_flag)
103 #endif // vim:filetype=cpp