21 #ifndef mia_core_flags_hh
22 #define mia_core_flags_hh
36 #define IMPLEMENT_FLAG_OPERATIONS(E) \
37 inline E operator | (E lhs, E rhs) \
39 return static_cast<E>( static_cast<int>(lhs) | static_cast<int>(rhs)); \
42 inline E operator & (E lhs, E rhs) \
44 return static_cast<E>( static_cast<int>(lhs) & static_cast<int>(rhs)); \
47 inline E operator -= (E& lhs, E rhs) \
49 lhs = static_cast<E>( static_cast<int>(lhs) & ~static_cast<int>(rhs)); \
53 inline bool has_flag(E flags, E test) \
55 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