Container for bitfield flag variables associated with a specific enum type. More...
#include <PxFlags.h>
Public Types | |
typedef storagetype | InternalType |
Public Member Functions | |
PX_INLINE | PxFlags (const PxEMPTY &) |
PX_INLINE | PxFlags (void) |
PX_INLINE | PxFlags (enumtype e) |
PX_INLINE | PxFlags (const PxFlags< enumtype, storagetype > &f) |
PX_INLINE | PxFlags (storagetype b) |
PX_INLINE bool | isSet (enumtype e) const |
PX_INLINE PxFlags< enumtype, storagetype > & | set (enumtype e) |
PX_INLINE bool | operator== (enumtype e) const |
PX_INLINE bool | operator== (const PxFlags< enumtype, storagetype > &f) const |
PX_INLINE bool | operator== (bool b) const |
PX_INLINE bool | operator!= (enumtype e) const |
PX_INLINE bool | operator!= (const PxFlags< enumtype, storagetype > &f) const |
PX_INLINE PxFlags< enumtype, storagetype > & | operator= (enumtype e) |
PX_INLINE PxFlags< enumtype, storagetype > & | operator= (const PxFlags< enumtype, storagetype > &f) |
PX_INLINE PxFlags< enumtype, storagetype > & | operator|= (enumtype e) |
PX_INLINE PxFlags< enumtype, storagetype > & | operator|= (const PxFlags< enumtype, storagetype > &f) |
PX_INLINE PxFlags< enumtype, storagetype > | operator| (enumtype e) const |
PX_INLINE PxFlags< enumtype, storagetype > | operator| (const PxFlags< enumtype, storagetype > &f) const |
PX_INLINE PxFlags< enumtype, storagetype > & | operator&= (enumtype e) |
PX_INLINE PxFlags< enumtype, storagetype > & | operator&= (const PxFlags< enumtype, storagetype > &f) |
PX_INLINE PxFlags< enumtype, storagetype > | operator& (enumtype e) const |
PX_INLINE PxFlags< enumtype, storagetype > | operator& (const PxFlags< enumtype, storagetype > &f) const |
PX_INLINE PxFlags< enumtype, storagetype > & | operator^= (enumtype e) |
PX_INLINE PxFlags< enumtype, storagetype > & | operator^= (const PxFlags< enumtype, storagetype > &f) |
PX_INLINE PxFlags< enumtype, storagetype > | operator^ (enumtype e) const |
PX_INLINE PxFlags< enumtype, storagetype > | operator^ (const PxFlags< enumtype, storagetype > &f) const |
PX_INLINE PxFlags< enumtype, storagetype > | operator~ (void) const |
PX_INLINE | operator bool (void) const |
PX_INLINE | operator PxU8 (void) const |
PX_INLINE | operator PxU16 (void) const |
PX_INLINE | operator PxU32 (void) const |
PX_INLINE void | clear (enumtype e) |
Private Attributes | |
storagetype | mBits |
Friends | |
PX_INLINE PxFlags< enumtype, storagetype > | operator& (enumtype a, PxFlags< enumtype, storagetype > &b) |
Container for bitfield flag variables associated with a specific enum type.
This allows for type safe manipulation for bitfields. <h3>Example</h3>
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(); }
typedef storagetype PxFlags< enumtype, storagetype >::InternalType |
|
inlineexplicit |
|
friend |
|
private |
Referenced by PxFlags< enumtype, storagetype >::operator!=(), PxFlags< enumtype, storagetype >::operator&(), PxFlags< enumtype, storagetype >::operator&=(), PxFlags< enumtype, storagetype >::operator=(), PxFlags< enumtype, storagetype >::operator==(), PxFlags< enumtype, storagetype >::operator^(), PxFlags< enumtype, storagetype >::operator^=(), PxFlags< enumtype, storagetype >::operator|=(), PxFlags< enumtype, storagetype >::operator~(), and PxFlags< enumtype, storagetype >::PxFlags().