Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals | Examples

bm::bvector< Alloc, MS >::iterator_base Class Reference
[The Main bvector<> Group]

Base class for all iterators. More...

#include <bm.h>

Inheritance diagram for bm::bvector< Alloc, MS >::iterator_base:

Inheritance graph
[legend]
Collaboration diagram for bm::bvector< Alloc, MS >::iterator_base:

Collaboration graph
[legend]

Public Member Functions

 iterator_base ()
bool operator== (const iterator_base &it) const
bool operator!= (const iterator_base &it) const
bool operator< (const iterator_base &it) const
bool operator<= (const iterator_base &it) const
bool operator> (const iterator_base &it) const
bool operator>= (const iterator_base &it) const
bool valid () const
 Checks if iterator is still valid. Analog of != 0 comparison for pointers.
void invalidate ()
 Turns iterator into an invalid state.

Protected Attributes

bm::bvector< Alloc, MS > * bv_
 Pointer on parent bitvector.
bm::id_t position_
 Bit position (bit idx).
const bm::word_tblock_
 Block pointer.(NULL-invalid).
unsigned block_type_
 Type of block. 0-Bit, 1-GAP.
unsigned block_idx_
 Block index.
bm::bvector::iterator_base::block_descr bdescr_

Friends

class bvector

Data Structures

struct  bitblock_descr
 Information about current bitblock. More...
union  block_descr
struct  dgap_descr
 Information about current DGAP block. More...

Detailed Description

template<class Alloc, class MS>
class bm::bvector< Alloc, MS >::iterator_base

Base class for all iterators.

Definition at line 223 of file bm.h.


Constructor & Destructor Documentation

template<class Alloc, class MS>
bm::bvector< Alloc, MS >::iterator_base::iterator_base  )  [inline]
 

Definition at line 227 of file bm.h.

References bm::bvector< Alloc, MS >::iterator_base::block_, bm::bvector< Alloc, MS >::iterator_base::bv_, bm::id_max, and bm::bvector< Alloc, MS >::iterator_base::position_.


Member Function Documentation

template<class Alloc, class MS>
bool bm::bvector< Alloc, MS >::iterator_base::invalidate  )  [inline]
 

Turns iterator into an invalid state.

Definition at line 273 of file bm.h.

References bm::bvector< Alloc, MS >::iterator_base::position_.

Referenced by bm::bvector< Alloc, MS >::enumerator::enumerator(), bm::bvector< Alloc, MS >::enumerator::go_first(), and bm::bvector< Alloc, MS >::enumerator::go_up().

template<class Alloc, class MS>
bool bm::bvector< Alloc, MS >::iterator_base::operator!= const iterator_base it  )  const [inline]
 

Definition at line 234 of file bm.h.

References bm::bvector< Alloc, MS >::iterator_base::operator==().

template<class Alloc, class MS>
bool bm::bvector< Alloc, MS >::iterator_base::operator< const iterator_base it  )  const [inline]
 

Definition at line 239 of file bm.h.

References bm::bvector< Alloc, MS >::reference::position_, and bm::bvector< Alloc, MS >::iterator_base::position_.

template<class Alloc, class MS>
bool bm::bvector< Alloc, MS >::iterator_base::operator<= const iterator_base it  )  const [inline]
 

Definition at line 244 of file bm.h.

References bm::bvector< Alloc, MS >::reference::position_, and bm::bvector< Alloc, MS >::iterator_base::position_.

template<class Alloc, class MS>
bool bm::bvector< Alloc, MS >::iterator_base::operator== const iterator_base it  )  const [inline]
 

Definition at line 229 of file bm.h.

References bm::bvector< Alloc, MS >::iterator_base::bv_, and bm::bvector< Alloc, MS >::iterator_base::position_.

Referenced by bm::bvector< Alloc, MS >::iterator_base::operator!=().

template<class Alloc, class MS>
bool bm::bvector< Alloc, MS >::iterator_base::operator> const iterator_base it  )  const [inline]
 

Definition at line 249 of file bm.h.

References bm::bvector< Alloc, MS >::reference::position_, and bm::bvector< Alloc, MS >::iterator_base::position_.

template<class Alloc, class MS>
bool bm::bvector< Alloc, MS >::iterator_base::operator>= const iterator_base it  )  const [inline]
 

Definition at line 254 of file bm.h.

References bm::bvector< Alloc, MS >::reference::position_, and bm::bvector< Alloc, MS >::iterator_base::position_.

template<class Alloc, class MS>
bool bm::bvector< Alloc, MS >::iterator_base::valid  )  const [inline]
 

Checks if iterator is still valid. Analog of != 0 comparison for pointers.

Returns:
true if iterator is valid.

Definition at line 264 of file bm.h.

References bm::bvector< Alloc, MS >::iterator_base::position_.


Friends And Related Function Documentation

template<class Alloc, class MS>
friend class bvector [friend]
 

Definition at line 225 of file bm.h.


Field Documentation

template<class Alloc, class MS>
union bm::bvector::iterator_base::block_descr bm::bvector< Alloc, MS >::iterator_base::bdescr_ [protected]
 

Block type dependent information for current block.

template<class Alloc, class MS>
const bm::word_t* bm::bvector< Alloc, MS >::iterator_base::block_ [protected]
 

Block pointer.(NULL-invalid).

Definition at line 300 of file bm.h.

Referenced by bm::bvector< Alloc, MS >::iterator_base::iterator_base().

template<class Alloc, class MS>
unsigned bm::bvector< Alloc, MS >::iterator_base::block_idx_ [protected]
 

Block index.

Definition at line 302 of file bm.h.

template<class Alloc, class MS>
unsigned bm::bvector< Alloc, MS >::iterator_base::block_type_ [protected]
 

Type of block. 0-Bit, 1-GAP.

Definition at line 301 of file bm.h.

template<class Alloc, class MS>
bm::bvector<Alloc, MS>* bm::bvector< Alloc, MS >::iterator_base::bv_ [protected]
 

Pointer on parent bitvector.

Definition at line 298 of file bm.h.

Referenced by bm::bvector< Alloc, MS >::iterator_base::iterator_base(), and bm::bvector< Alloc, MS >::iterator_base::operator==().

template<class Alloc, class MS>
bm::id_t bm::bvector< Alloc, MS >::iterator_base::position_ [protected]
 

Bit position (bit idx).

Definition at line 299 of file bm.h.

Referenced by bm::bvector< Alloc, MS >::iterator_base::invalidate(), bm::bvector< Alloc, MS >::iterator_base::iterator_base(), bm::bvector< Alloc, MS >::iterator_base::operator<(), bm::bvector< Alloc, MS >::iterator_base::operator<=(), bm::bvector< Alloc, MS >::iterator_base::operator==(), bm::bvector< Alloc, MS >::iterator_base::operator>(), bm::bvector< Alloc, MS >::iterator_base::operator>=(), and bm::bvector< Alloc, MS >::iterator_base::valid().


The documentation for this class was generated from the following file:
Generated on Sun Aug 5 14:12:39 2007 for BitMagic by  doxygen 1.4.1