21 #ifndef mia_core_flags_hh
22 #define mia_core_flags_hh
35 #define IMPLEMENT_FLAG_OPERATIONS(E) \
36 inline E operator | (E lhs, E rhs) \
38 return static_cast<E>( static_cast<int>(lhs) | static_cast<int>(rhs)); \
41 inline E operator & (E lhs, E rhs) \
43 return static_cast<E>( static_cast<int>(lhs) & static_cast<int>(rhs)); \
46 inline E operator -= (E& lhs, E rhs) \
48 lhs = static_cast<E>( static_cast<int>(lhs) & ~static_cast<int>(rhs)); \
52 inline bool has_flag(E flags, E test) \
54 return (flags & test) == test; \
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
#define NS_MIA_END
conveniance define to end the mia namespace