48 uint32 newSize = (_idx>>5)+1;
49 if( newSize > m_bits.size() )
51 m_bits.resize( newSize, 0 );
53 m_bits[_idx>>5] |= (1<<(_idx&0x1f));
62 m_bits[_idx>>5] &= ~(1<<(_idx&0x1f));
69 if( (_idx>>5) < m_bits.size() )
71 return( ( m_bits[_idx>>5] & (1<<(_idx&0x1f)) ) !=0 );
104 return m_idx == rhs.m_idx;
109 return m_idx != rhs.m_idx;
116 if( ( _idx == 0 ) && ( !m_bitfield->IsSet(0) ) )
124 while( ((++m_idx)>>5)<m_bitfield->m_bits.size() )
127 if( ( m_bitfield->m_bits[m_idx>>5] & ~((1<<(m_idx&0x1f))-1) ) == 0 )
131 m_idx = (m_idx&0xffffffe0)+31;
135 if( (m_bitfield->m_bits[m_idx>>5] & (1<<(m_idx&0x1f))) !=0 )
145 Bitfield
const* m_bitfield;
153 vector<uint32> m_bits;
Definition: Bitfield.h:34
#define OPENZWAVE_EXPORT
Definition: Defs.h:51
#define OPENZWAVE_EXPORT_WARNINGS_ON
Definition: Defs.h:53
bool IsSet(uint32 _idx) const
Definition: Bitfield.h:67
Iterator operator++(int)
Definition: Bitfield.h:95
#define OPENZWAVE_EXPORT_WARNINGS_OFF
Definition: Defs.h:52
Definition: Bitfield.h:36
Iterator End() const
Definition: Bitfield.h:149
uint32 GetNumSetBits() const
Definition: Bitfield.h:76
Bitfield()
Definition: Bitfield.h:41
unsigned int uint32
Definition: Defs.h:69
Iterator & operator++()
Definition: Bitfield.h:88
void Set(uint32 _idx)
Definition: Bitfield.h:44
Iterator Begin() const
Definition: Bitfield.h:148
~Bitfield()
Definition: Bitfield.h:42
void Clear(uint32 _idx)
Definition: Bitfield.h:58
Definition: Bitfield.h:78