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