inline constexpr bool operator==( Name::Enum lhs, Name rhs ) { return( rhs == lhs ); } \
inline constexpr bool operator!=(Name:: Enum lhs, Name rhs ) { return( rhs != lhs ); } \
inline constexpr Name operator&( Name::Enum lhs, Name::Enum rhs ) { return Name( lhs ) & rhs; } \
inline constexpr Name operator&( Name::Enum lhs, Name rhs ) { return rhs & lhs; } \
inline constexpr Name
operator|( Name::Enum lhs, Name::Enum rhs ) {
return Name( lhs ) | rhs; } \
inline constexpr Name
operator|( Name::Enum lhs, Name rhs ) {
return rhs | lhs; } \
inline constexpr Name operator^( Name::Enum lhs, Name::Enum rhs ) { return Name( lhs ) ^ rhs; } \
inline constexpr Name operator^( Name::Enum lhs, Name rhs ) { return rhs ^ lhs; } \
inline constexpr Name operator~( Name::Enum lhs ) { return ~Name( lhs ); }
Match operator|(Match::Mode lhs, Match::Mode rhs)