BitMagic-C++
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
 Bit-block descriptor. More...
 
union  block_descr
 
struct  dgap_descr
 Information about current DGAP block. More...
 

Public Member Functions

 iterator_base () BMNOEXCEPT
 
bool operator== (const iterator_base &it) const BMNOEXCEPT
  More...
 
bool operator!= (const iterator_base &it) const BMNOEXCEPT
  More...
 
bool operator< (const iterator_base &it) const BMNOEXCEPT
  More...
 
bool operator<= (const iterator_base &it) const BMNOEXCEPT
  More...
 
bool operator> (const iterator_base &it) const BMNOEXCEPT
  More...
 
bool operator>= (const iterator_base &it) const BMNOEXCEPT
  More...
 
bool valid () const BMNOEXCEPT
 Checks if iterator is still valid. More...
 
void invalidate () BMNOEXCEPT
 Turns iterator into an invalid state. More...
 
bool compare_state (const iterator_base &ib) const BMNOEXCEPT
 Compare FSMs for testing purposes. More...
 

Protected Attributes

bm::bvector< Alloc > * bv_
 Pointer on parent bitvector. More...
 
size_type 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...
 
block_idx_type block_idx_
 Block index. More...
 
union bm::bvector::iterator_base::block_descr bdescr_
  More...
 

Friends

class bvector
 

Detailed Description

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

Base class for all iterators.

Definition at line 239 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

◆ operator!=()

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

Definition at line 253 of file bm.h.

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

◆ operator<()

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

Definition at line 258 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 263 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 268 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 273 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
bv3vlogic.cpp, bvsample01_64.cpp, bvsetalgebra.cpp, sample11.cpp, sample24.cpp, sample5.cpp, svsample04.cpp, svsample05.cpp, svsample06.cpp, xsample01.cpp, xsample03.cpp, xsample04.cpp, xsample07.cpp, and xsample07a.cpp.

Definition at line 283 of file bm.h.

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

Referenced by assign_to_best_cluster(), assign_to_best_cluster_union(), bm::compute_sim_matrix_plan_builder< BV >::build_plan(), bv2delta(), bv_counted_enumerator(), compute_frequent_kmers(), compute_random_clusters(), compute_seq_group_union(), bm::xor_scanner< BV >::compute_sim_model(), convert_bv2sv(), convert_bv2vect(), bm::bvector< Alloc >::counted_enumerator::counted_enumerator(), bm::rsc_sparse_vector< Val, SV >::decode(), bm::rsc_sparse_vector< Val, SV >::decode_buf(), CSequenceColl::deserialize_k_mers(), CSeqClusters::elect_leaders(), generate_random_subset(), bm::bvector< Alloc >::enumerator::go_to(), bm::bvector< Alloc >::enumerator::go_up(), main(), Counting_JobFunctor< DNA_Scan >::operator()(), bm::bvector< Alloc >::counted_enumerator::operator++(), bm::bvector< Alloc >::counted_enumerator::operator=(), print_bvector(), PrintKleeneVector(), bm::set2set_11_transform< SV >::remap(), resolve_duplicates(), bm::rsc_sparse_vector< Val, SV >::set_null(), bm::bvector< Alloc >::enumerator::skip(), bm::bvector< Alloc >::enumerator::skip_to_rank(), speed_test_bv_index(), speed_test_bvs_index(), speed_test_sv_index(), speed_test_vect_index(), and DNA_FingerprintScanner::TranslateResults().

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_idx_

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

◆ block_type_

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

◆ bv_

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

◆ position_

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

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