CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes | Friends
DTTFBitArray< N >::refToBit Class Reference

#include <DTTFBitArray.h>

Public Member Functions

refToBitflip ()
 
 operator int () const
 
refToBitoperator= (const int val)
 
refToBitoperator= (const refToBit &rtb)
 
int operator~ () const
 
 refToBit ()
 
 refToBit (DTTFBitArray &b, int pos)
 
 ~refToBit ()
 

Private Attributes

int _pos
 
unsigned * _word
 

Friends

class DTTFBitArray
 

Detailed Description

template<int N>
class DTTFBitArray< N >::refToBit

Definition at line 34 of file DTTFBitArray.h.

Constructor & Destructor Documentation

template<int N>
DTTFBitArray< N >::refToBit::refToBit ( )
inline

Definition at line 40 of file DTTFBitArray.h.

40 {}
template<int N>
DTTFBitArray< N >::refToBit::refToBit ( DTTFBitArray b,
int  pos 
)
inline

Definition at line 41 of file DTTFBitArray.h.

References DTTFBitArray< N >::refToBit::_pos, DTTFBitArray< N >::refToBit::_word, DTTFBitArray< N >::getPosInWord(), and DTTFBitArray< N >::getWord().

41  {
42  _word = &b.getWord(pos);
43  _pos = getPosInWord(pos);
44  }
static int getPosInWord(const int pos)
Definition: DTTFBitArray.h:144
unsigned & getWord(const int pos)
Definition: DTTFBitArray.h:134
template<int N>
DTTFBitArray< N >::refToBit::~refToBit ( )
inline

Definition at line 45 of file DTTFBitArray.h.

45 {}

Member Function Documentation

template<int N>
refToBit& DTTFBitArray< N >::refToBit::flip ( )
inline

Definition at line 69 of file DTTFBitArray.h.

References DTTFBitArray< N >::refToBit::_pos, DTTFBitArray< N >::refToBit::_word, and DTTFBitArray< N >::getPosMask().

69  {
70  *_word ^= getPosMask(_pos);
71  return *this;
72  }
static unsigned getPosMask(const int pos)
Definition: DTTFBitArray.h:150
template<int N>
DTTFBitArray< N >::refToBit::operator int ( ) const
inline

Definition at line 67 of file DTTFBitArray.h.

References DTTFBitArray< N >::refToBit::_pos, DTTFBitArray< N >::refToBit::_word, and DTTFBitArray< N >::getPosMask().

67 { return ((*_word) & getPosMask(_pos)) != 0; }
static unsigned getPosMask(const int pos)
Definition: DTTFBitArray.h:150
template<int N>
refToBit& DTTFBitArray< N >::refToBit::operator= ( const int  val)
inline

Definition at line 47 of file DTTFBitArray.h.

References DTTFBitArray< N >::refToBit::_pos, DTTFBitArray< N >::refToBit::_word, and DTTFBitArray< N >::getPosMask().

47  {
48  if (val) {
49  *_word |= getPosMask(_pos);
50  } else {
51  *_word &= ~(getPosMask(_pos));
52  }
53  return *this;
54  }
static unsigned getPosMask(const int pos)
Definition: DTTFBitArray.h:150
template<int N>
refToBit& DTTFBitArray< N >::refToBit::operator= ( const refToBit rtb)
inline

Definition at line 56 of file DTTFBitArray.h.

References DTTFBitArray< N >::refToBit::_pos, DTTFBitArray< N >::refToBit::_word, and DTTFBitArray< N >::getPosMask().

56  {
57  if ((*(rtb._word) & getPosMask(rtb._pos))) {
58  *_word |= getPosMask(_pos);
59  } else {
60  *_word &= ~getPosMask(_pos);
61  }
62  return *this;
63  }
static unsigned getPosMask(const int pos)
Definition: DTTFBitArray.h:150
template<int N>
int DTTFBitArray< N >::refToBit::operator~ ( ) const
inline

Definition at line 65 of file DTTFBitArray.h.

References DTTFBitArray< N >::refToBit::_pos, DTTFBitArray< N >::refToBit::_word, and DTTFBitArray< N >::getPosMask().

65 { return ((*_word) & getPosMask(_pos)) == 0; }
static unsigned getPosMask(const int pos)
Definition: DTTFBitArray.h:150

Friends And Related Function Documentation

template<int N>
friend class DTTFBitArray
friend

Definition at line 35 of file DTTFBitArray.h.

Member Data Documentation

template<int N>
int DTTFBitArray< N >::refToBit::_pos
private
template<int N>
unsigned* DTTFBitArray< N >::refToBit::_word
private