PxFlags< enumtype, storagetype > Class Template Reference
[Foundation]
Container for bitfield flag variables associated with a specific enum type.
More...
#include <PxFlags.h>
Public Types | |
typedef storagetype | InternalType |
Public Member Functions | |
PX_CUDA_CALLABLE PX_INLINE | PxFlags (const PxEMPTY) |
PX_CUDA_CALLABLE PX_INLINE | PxFlags (void) |
PX_CUDA_CALLABLE PX_INLINE | PxFlags (enumtype e) |
PX_CUDA_CALLABLE PX_INLINE | PxFlags (const PxFlags< enumtype, storagetype > &f) |
PX_CUDA_CALLABLE PX_INLINE | PxFlags (storagetype b) |
PX_CUDA_CALLABLE PX_INLINE bool | isSet (enumtype e) const |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > & | set (enumtype e) |
PX_CUDA_CALLABLE PX_INLINE bool | operator== (enumtype e) const |
PX_CUDA_CALLABLE PX_INLINE bool | operator== (const PxFlags< enumtype, storagetype > &f) const |
PX_CUDA_CALLABLE PX_INLINE bool | operator== (bool b) const |
PX_CUDA_CALLABLE PX_INLINE bool | operator!= (enumtype e) const |
PX_CUDA_CALLABLE PX_INLINE bool | operator!= (const PxFlags< enumtype, storagetype > &f) const |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > & | operator= (const PxFlags< enumtype, storagetype > &f) |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > & | operator= (enumtype e) |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > & | operator|= (enumtype e) |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > & | operator|= (const PxFlags< enumtype, storagetype > &f) |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > | operator| (enumtype e) const |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > | operator| (const PxFlags< enumtype, storagetype > &f) const |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > & | operator&= (enumtype e) |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > & | operator&= (const PxFlags< enumtype, storagetype > &f) |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > | operator& (enumtype e) const |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > | operator& (const PxFlags< enumtype, storagetype > &f) const |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > & | operator^= (enumtype e) |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > & | operator^= (const PxFlags< enumtype, storagetype > &f) |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > | operator^ (enumtype e) const |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > | operator^ (const PxFlags< enumtype, storagetype > &f) const |
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype > | operator~ (void) const |
PX_CUDA_CALLABLE PX_INLINE | operator bool (void) const |
PX_CUDA_CALLABLE PX_INLINE | operator uint8_t (void) const |
PX_CUDA_CALLABLE PX_INLINE | operator uint16_t (void) const |
PX_CUDA_CALLABLE PX_INLINE | operator uint32_t (void) const |
PX_CUDA_CALLABLE PX_INLINE void | clear (enumtype e) |
Private Attributes | |
storagetype | mBits |
Friends | |
PX_INLINE PxFlags< enumtype, storagetype > | operator& (enumtype a, PxFlags< enumtype, storagetype > &b) |
Detailed Description
template<typename enumtype, typename storagetype = uint32_t>
class PxFlags< enumtype, storagetype >
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, uint8_t);
PxFlags<MyEnum::Enum, uint8_t> myFlags; myFlags |= MyEnum::eMAN; myFlags |= MyEnum::eBEAR | MyEnum::ePIG; if(myFlags & MyEnum::eBEAR) { doSomething(); }
Member Typedef Documentation
typedef storagetype PxFlags< enumtype, storagetype >::InternalType |
Constructor & Destructor Documentation
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype >::PxFlags | ( | const | PxEMPTY | ) | [inline, explicit] |
Friends And Related Function Documentation
PX_INLINE PxFlags<enumtype, storagetype> operator& | ( | enumtype | a, | |
PxFlags< enumtype, storagetype > & | b | |||
) | [friend] |
Member Data Documentation
storagetype PxFlags< enumtype, storagetype >::mBits [private] |
Referenced by PxFlags< enumtype, storagetype >::clear(), PxFlags< enumtype, storagetype >::isSet(), PxFlags< enumtype, storagetype >::operator bool(), PxFlags< enumtype, storagetype >::operator uint16_t(), PxFlags< enumtype, storagetype >::operator uint32_t(), PxFlags< enumtype, storagetype >::operator uint8_t(), 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~(), PxFlags< enumtype, storagetype >::PxFlags(), and PxFlags< enumtype, storagetype >::set().
The documentation for this class was generated from the following file:
Copyright © 2008-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com