OpenEnroth 73e68f7
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions
Flags.h File Reference
#include <type_traits>

Classes

class  Flags< Enum >
 
struct  Flags< Enum >::Dummy
 

Namespaces

namespace  std
 STL namespace.
 

Macros

#define MM_DECLARE_FLAGS(FLAGS, ENUM)    using FLAGS = Flags<ENUM>;
 
#define MM_DECLARE_OPERATORS_FOR_FLAGS(FLAGS)
 

Functions

template<class Enum >
Flags< Enum >::underlying_type std::to_underlying (Flags< Enum > flags)
 

Macro Definition Documentation

◆ MM_DECLARE_FLAGS

#define MM_DECLARE_FLAGS (   FLAGS,
  ENUM 
)     using FLAGS = Flags<ENUM>;

◆ MM_DECLARE_OPERATORS_FOR_FLAGS

#define MM_DECLARE_OPERATORS_FOR_FLAGS (   FLAGS)
Value:
constexpr inline FLAGS operator|(FLAGS::enumeration_type l, FLAGS::enumeration_type r) { \
return FLAGS(l) | r; \
} \
constexpr inline FLAGS operator~(FLAGS::enumeration_type value) { \
return ~FLAGS(value); \
}