PxFlags< enumtype, storagetype > Class Template Reference
[Foundation]

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

#include <PxFlags.h>

Collaboration diagram for PxFlags< enumtype, storagetype >:

Collaboration graph
[legend]

List of all members.

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

template<typename enumtype, typename storagetype = uint32_t>
typedef storagetype PxFlags< enumtype, storagetype >::InternalType


Constructor & Destructor Documentation

template<typename enumtype, typename storagetype = uint32_t>
PX_CUDA_CALLABLE PX_INLINE PxFlags< enumtype, storagetype >::PxFlags ( const   PxEMPTY  )  [inline, explicit]


Friends And Related Function Documentation

template<typename enumtype, typename storagetype = uint32_t>
PX_INLINE PxFlags<enumtype, storagetype> operator& ( enumtype  a,
PxFlags< enumtype, storagetype > &  b 
) [friend]


Member Data Documentation

template<typename enumtype, typename storagetype = uint32_t>
storagetype PxFlags< enumtype, storagetype >::mBits [private]


The documentation for this class was generated from the following file:


Copyright © 2008-2018 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com