PxFlags

Defined in include/foundation/PxFlags.h

template<typename enumtype, typename storagetype = PxU32>
class PxFlags

Container for bitfield flag variables associated with a specific enum type.

This allows for type safe manipulation for bitfields.

Example

enum that defines each bit… struct MyEnum { enum Enum { eMAN = 1, eBEAR = 2, ePIG = 4, }; };

implements some convenient global operators. PX_FLAGS_OPERATORS(MyEnum::Enum, PxU8);

PxFlags<MyEnum::Enum, PxU8> myFlags; myFlags |= MyEnum::eMAN; myFlags |= MyEnum::eBEAR | MyEnum::ePIG; if(myFlags & MyEnum::eBEAR) { doSomething(); }

Public Types

typedef storagetype InternalType

Public Functions

inline explicit PxFlags(const PxEMPTY)
inline PxFlags()
inline PxFlags(enumtype e)
inline PxFlags(const PxFlags<enumtype, storagetype> &f)
inline explicit PxFlags(storagetype b)
inline bool operator==(enumtype e) const
inline bool operator==(const PxFlags<enumtype, storagetype> &f) const
inline bool operator==(bool b) const
inline bool operator!=(enumtype e) const
inline bool operator!=(const PxFlags<enumtype, storagetype> &f) const
inline PxFlags<enumtype, storagetype> &operator=(const PxFlags<enumtype, storagetype> &f)
inline PxFlags<enumtype, storagetype> &operator=(enumtype e)
inline PxFlags<enumtype, storagetype> &operator|=(enumtype e)
inline PxFlags<enumtype, storagetype> &operator|=(const PxFlags<enumtype, storagetype> &f)
inline PxFlags<enumtype, storagetype> operator|(enumtype e) const
inline PxFlags<enumtype, storagetype> operator|(const PxFlags<enumtype, storagetype> &f) const
inline PxFlags<enumtype, storagetype> &operator&=(enumtype e)
inline PxFlags<enumtype, storagetype> &operator&=(const PxFlags<enumtype, storagetype> &f)
inline PxFlags<enumtype, storagetype> operator&(enumtype e) const
inline PxFlags<enumtype, storagetype> operator&(const PxFlags<enumtype, storagetype> &f) const
inline PxFlags<enumtype, storagetype> &operator^=(enumtype e)
inline PxFlags<enumtype, storagetype> &operator^=(const PxFlags<enumtype, storagetype> &f)
inline PxFlags<enumtype, storagetype> operator^(enumtype e) const
inline PxFlags<enumtype, storagetype> operator^(const PxFlags<enumtype, storagetype> &f) const
inline PxFlags<enumtype, storagetype> operator~() const
inline operator bool() const
inline operator PxU8() const
inline operator PxU16() const
inline operator PxU32() const
inline void clear(enumtype e)
inline void raise(enumtype e)
inline bool isSet(enumtype e) const
inline PxFlags<enumtype, storagetype> &setAll(enumtype e)

Friends

inline friend PxFlags<enumtype, storagetype> operator&(enumtype a, PxFlags<enumtype, storagetype> &b)