|
(Note that these are not member functions.)
|
template<typename E > |
constexpr Flags< E > | operator| (Flags< E > lhs, E rhs) |
| Binary OR between a bitfield and a flag. More...
|
|
template<typename E > |
constexpr Flags< E > | operator| (E lhs, Flags< E > rhs) |
| Binary OR between a flag and a bitfield. More...
|
|
template<typename E > |
constexpr Flags< E > | operator& (Flags< E > lhs, E rhs) |
| Binary AND between a bitfield and a flag. More...
|
|
template<typename E > |
constexpr Flags< E > | operator& (E lhs, Flags< E > rhs) |
| Binary AND between a flag and a bitfield. More...
|
|
template<typename E > |
constexpr Flags< E > | combineFlags (E flag) |
| Combine a single enum value into a flag value. More...
|
|
template<typename E , typename ... F> |
constexpr Flags< E > | combineFlags (E flag, F ... others) |
| Combine several enum values into a flag value. More...
|
|
template<typename E>
class gf::Flags< E >
Bitfield relying on an enumeration.
enum class AnimalProperties {
HasClaws = 0x01,
CanFly = 0x02,
EatsFish = 0x04,
IsEndangered = 0x08,
};
template<>
struct EnableBitmaskOperators<AnimalProperties> {
static constexpr bool value =
true;
};
}
ValueActivity value(float origin, float target, float &value, Time duration, Easing easing=Ease::linear)
Create a gf::ValueActivity.
Definition: Activities.h:526
The namespace for gf classes.
using gf::operator|;
seahawk |= AnimalProperties::IsEndangered;
bool b = seahawk.
test(AnimalProperties::HasClaws);
Bitfield relying on an enumeration.
Definition: Flags.h:48
constexpr bool test(E flag) const
Test if a specified flag is set.
Definition: Flags.h:150
If you do not initialize flags, then the state is undefined. You can use semantic constants gf::All and gf::None to set all the flags or none.
constexpr AllType All
Constant to represent "all".
Definition: Types.h:61
constexpr NoneType None
Constant to represent "none".
Definition: Types.h:45