BitMagicC++Library
Data Structures | Public Member Functions | Protected Attributes | Friends
bm::bvector< Alloc >::iterator_base Class Reference

Base class for all iterators. More...

#include <bm.h>

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

Data Structures

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

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. More...
 
void invalidate ()
 Turns iterator into an invalid state. More...
 
bool compare_state (const iterator_base &ib) const
 Compare FSMs for testing purposes. More...
 

Protected Attributes

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

Friends

class bvector
 

Detailed Description

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

Base class for all iterators.

Definition at line 219 of file bm.h.

Constructor & Destructor Documentation

◆ iterator_base()

template<class Alloc>
bm::bvector< Alloc >::iterator_base::iterator_base ( )
inline

Definition at line 223 of file bm.h.

Member Function Documentation

◆ compare_state()

template<class Alloc>
bool bm::bvector< Alloc >::iterator_base::compare_state ( const iterator_base ib) const
inline

◆ invalidate()

template<class Alloc>
bool bm::bvector< Alloc >::iterator_base::invalidate ( )
inline

Turns iterator into an invalid state.

Definition at line 269 of file bm.h.

References bm::id_max.

◆ operator!=()

template<class Alloc>
bool bm::bvector< Alloc >::iterator_base::operator!= ( const iterator_base it) const
inline

Definition at line 230 of file bm.h.

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

◆ operator<()

template<class Alloc>
bool bm::bvector< Alloc >::iterator_base::operator< ( const iterator_base it) const
inline

Definition at line 235 of file bm.h.

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

◆ operator<=()

template<class Alloc>
bool bm::bvector< Alloc >::iterator_base::operator<= ( const iterator_base it) const
inline

Definition at line 240 of file bm.h.

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

◆ operator==()

template<class Alloc>
bool bm::bvector< Alloc >::iterator_base::operator== ( const iterator_base it) const
inline

◆ operator>()

template<class Alloc>
bool bm::bvector< Alloc >::iterator_base::operator> ( const iterator_base it) const
inline

Definition at line 245 of file bm.h.

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

◆ operator>=()

template<class Alloc>
bool bm::bvector< Alloc >::iterator_base::operator>= ( const iterator_base it) const
inline

Definition at line 250 of file bm.h.

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

◆ valid()

template<class Alloc>
bool bm::bvector< Alloc >::iterator_base::valid ( ) const
inline

Checks if iterator is still valid.

Analog of != 0 comparison for pointers.

Returns
true if iterator is valid.
Examples:
sample11.cpp, sample5.cpp, and xsample01.cpp.

Definition at line 260 of file bm.h.

References bm::id_max.

Referenced by bv2delta(), bv_counted_enumerator(), convert_bv2sv(), convert_bv2vect(), main(), speed_test_bv_index(), speed_test_bvs_index(), speed_test_sv_index(), and speed_test_vect_index().

Friends And Related Function Documentation

◆ bvector

template<class Alloc>
friend class bvector
friend

Definition at line 221 of file bm.h.

Field Documentation

◆ bdescr_

template<class Alloc>
union bm::bvector::iterator_base::block_descr bm::bvector< Alloc >::iterator_base::bdescr_
protected

◆ block_

template<class Alloc>
const bm::word_t* bm::bvector< Alloc >::iterator_base::block_
protected

Block pointer.(NULL-invalid)

Definition at line 329 of file bm.h.

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

◆ block_idx_

template<class Alloc>
unsigned bm::bvector< Alloc >::iterator_base::block_idx_
protected

Block index.

Definition at line 331 of file bm.h.

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

◆ block_type_

template<class Alloc>
unsigned bm::bvector< Alloc >::iterator_base::block_type_
protected

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

Definition at line 330 of file bm.h.

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

◆ bv_

template<class Alloc>
bm::bvector<Alloc>* bm::bvector< Alloc >::iterator_base::bv_
protected

Pointer on parent bitvector.

Definition at line 327 of file bm.h.

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

◆ position_

template<class Alloc>
bm::id_t bm::bvector< Alloc >::iterator_base::position_
protected

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