43 inline operator int()
const
49 inline Flag::Flag(
int ai ) : i( ai ) {}
52 template<
typename Enum>
58 typedef Enum enum_type;
60 inline Flags(
const Flags &f ) : i( f.i ) {}
61 inline Flags( Enum f ) : i( f ) {}
62 inline Flags( Zero = 0 ) : i( 0 ) {}
63 inline Flags( Flag f ) : i( f ) {}
70 inline Flags &operator&=(
int mask )
75 inline Flags &operator&=(
unsigned int mask )
80 inline Flags &operator|=( Flags f )
85 inline Flags &operator|=( Enum f )
90 inline Flags &operator^=( Flags f )
95 inline Flags &operator^=( Enum f )
101 inline operator int()
const
106 inline Flags operator|( Flags f )
const
112 inline Flags operator|( Enum f )
const
118 inline Flags operator^( Flags f )
const
124 inline Flags operator^( Enum f )
const
130 inline Flags operator&(
int mask )
const
136 inline Flags operator&(
unsigned int mask )
const
142 inline Flags operator&( Enum f )
const
148 inline Flags operator~()
const
155 inline bool operator!()
const
160 inline bool testFlag( Enum f )
const
171 #define FEELPP_DECLARE_FLAGS(Flags, Enum) \
172 typedef detail::Flags<Enum> Flags;