PTLib  Version 2.18.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PBitwiseEnum< BaseEnum, MaxValue, BaseInt > Class Template Reference

This class defines a set of operators for a bit wise enumeration. More...

#include <bitwise_enum.h>

Public Types

typedef BaseEnum Enumeration
 
typedef BaseInt IntType
 

Public Member Functions

__inline PBitwiseEnum (Enumeration e=Zero())
 
__inline PBitwiseEnum (const PBitwiseEnum &e)
 
__inline PBitwiseEnumoperator= (const PBitwiseEnum &e)
 
__inline PBitwiseEnumoperator= (Enumeration e)
 
__inline operator Enumeration () const
 
__inline operator Enumeration & ()
 
__inline operator const Enumeration & () const
 
__inline Enumerationoperator& ()
 
__inline unsigned AsBits () const
 
PBitwiseEnum operator++ ()
 
PBitwiseEnum operator++ (int)
 
PBitwiseEnum operator-- ()
 
PBitwiseEnum operator-- (int)
 
__inline PBitwiseEnumoperator|= (Enumeration rhs)
 
__inline PBitwiseEnumoperator+= (Enumeration rhs)
 
__inline PBitwiseEnumoperator-= (Enumeration rhs)
 
__inline PBitwiseEnumoperator*= (Enumeration rhs)
 
__inline PBitwiseEnumoperator^= (Enumeration rhs)
 
__inline PBitwiseEnum operator+ (Enumeration rhs) const
 
__inline PBitwiseEnum operator| (Enumeration rhs) const
 
__inline PBitwiseEnum operator- (Enumeration rhs) const
 
__inline PBitwiseEnum operator* (Enumeration rhs) const
 
__inline PBitwiseEnum operator^ (Enumeration rhs) const
 
__inline bool operator& (Enumeration rhs) const
 
__inline bool operator== (Enumeration rhs) const
 
__inline bool operator<= (Enumeration rhs) const
 
__inline bool operator>= (Enumeration rhs) const
 
__inline bool operator!= (Enumeration rhs) const
 
__inline bool operator< (Enumeration rhs) const
 
__inline bool operator> (Enumeration rhs) const
 
__inline PBitwiseEnumoperator|= (PBitwiseEnum rhs)
 
__inline PBitwiseEnumoperator+= (PBitwiseEnum rhs)
 
__inline PBitwiseEnumoperator-= (PBitwiseEnum rhs)
 
__inline PBitwiseEnumoperator*= (PBitwiseEnum rhs)
 
__inline PBitwiseEnumoperator^= (PBitwiseEnum rhs)
 
__inline PBitwiseEnum operator| (PBitwiseEnum rhs) const
 
__inline PBitwiseEnum operator+ (PBitwiseEnum rhs) const
 
__inline PBitwiseEnum operator- (PBitwiseEnum rhs) const
 
__inline PBitwiseEnum operator* (PBitwiseEnum rhs) const
 
__inline PBitwiseEnum operator^ (PBitwiseEnum rhs) const
 
__inline bool operator& (PBitwiseEnum rhs) const
 
__inline bool operator== (PBitwiseEnum rhs) const
 
__inline bool operator<= (PBitwiseEnum rhs) const
 
__inline bool operator>= (PBitwiseEnum rhs) const
 
__inline bool operator!= (PBitwiseEnum rhs) const
 
__inline bool operator< (PBitwiseEnum rhs) const
 
__inline bool operator> (PBitwiseEnum rhs) const
 
__inline PBitwiseEnum operator~ () const
 

Static Public Member Functions

static __inline Enumeration Zero ()
 
static __inline Enumeration All ()
 
static __inline Enumeration Begin ()
 
static __inline Enumeration End ()
 
static __inline Enumeration FromBits (unsigned b)
 
static __inline Enumeration FromBit (unsigned b)
 

Protected Attributes

Enumeration m_enum
 

Detailed Description

template<typename BaseEnum, BaseEnum MaxValue, typename BaseInt = unsigned>
class PBitwiseEnum< BaseEnum, MaxValue, BaseInt >

This class defines a set of operators for a bit wise enumeration.

This is typically use within the P_DECLARE_BITWISE_ENUM() which allows the enumeration to be correctly defined.

Member Typedef Documentation

template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
typedef BaseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::Enumeration
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
typedef BaseInt PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::IntType

Constructor & Destructor Documentation

template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::PBitwiseEnum ( Enumeration  e = Zero())
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::PBitwiseEnum ( const PBitwiseEnum< BaseEnum, MaxValue, BaseInt > &  e)
inline

Member Function Documentation

template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
static __inline Enumeration PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::All ( )
inlinestatic
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline unsigned PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::AsBits ( ) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
static __inline Enumeration PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::Begin ( )
inlinestatic
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
static __inline Enumeration PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::End ( )
inlinestatic
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
static __inline Enumeration PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::FromBit ( unsigned  b)
inlinestatic
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
static __inline Enumeration PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::FromBits ( unsigned  b)
inlinestatic
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator const Enumeration & ( ) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator Enumeration ( ) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator Enumeration & ( )
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator!= ( Enumeration  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator!= ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline Enumeration* PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator& ( )
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator& ( Enumeration  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator& ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator* ( Enumeration  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator* ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum& PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator*= ( Enumeration  rhs)
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum& PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator*= ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs)
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator+ ( Enumeration  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator+ ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator++ ( )
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator++ ( int  )
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum& PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator+= ( Enumeration  rhs)
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum& PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator+= ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs)
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator- ( Enumeration  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator- ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator-- ( )
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator-- ( int  )
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum& PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator-= ( Enumeration  rhs)
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum& PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator-= ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs)
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator< ( Enumeration  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator< ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator<= ( Enumeration  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator<= ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum& PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator= ( const PBitwiseEnum< BaseEnum, MaxValue, BaseInt > &  e)
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum& PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator= ( Enumeration  e)
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator== ( Enumeration  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator== ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator> ( Enumeration  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator> ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator>= ( Enumeration  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline bool PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator>= ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator^ ( Enumeration  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator^ ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum& PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator^= ( Enumeration  rhs)
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum& PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator^= ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs)
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator| ( Enumeration  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator| ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum& PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator|= ( Enumeration  rhs)
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum& PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator|= ( PBitwiseEnum< BaseEnum, MaxValue, BaseInt >  rhs)
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
__inline PBitwiseEnum PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::operator~ ( ) const
inline
template<typename BaseEnum , BaseEnum MaxValue, typename BaseInt = unsigned>
static __inline Enumeration PBitwiseEnum< BaseEnum, MaxValue, BaseInt >::Zero ( )
inlinestatic

Member Data Documentation


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