BitMagic-C++
bm::bvector< Alloc >::iterator_base Class Reference

Base class for all iterators. More...

#include <bm.h>

Inheritance diagram for bm::bvector< Alloc >::iterator_base:
Collaboration diagram for bm::bvector< Alloc >::iterator_base:

Data Structures

struct  bitblock_descr
 Bit-block descriptor. More...
struct  dgap_descr
 Information about current DGAP block. More...
union  block_descr

Public Member Functions

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

Protected Attributes

bm::bvector< Alloc > * bv_
 Pointer on parent bitvector.
size_type position_
 Bit position (bit idx).
const bm::word_tblock_
 Block pointer.(NULL-invalid).
unsigned block_type_
 Type of block. 0-Bit, 1-GAP.
block_idx_type block_idx_
 Block index.
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 239 of file bm.h.

Constructor & Destructor Documentation

◆ iterator_base()

Member Function Documentation

◆ compare_state()

◆ invalidate()

template<class Alloc>
void 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 BMNOEXCEPT, iterator_base(), and 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 BMNOEXCEPT, iterator_base(), and 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 BMNOEXCEPT, iterator_base(), and position_.

◆ operator==()

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

Definition at line 248 of file bm.h.

References BMNOEXCEPT, bv_, iterator_base(), and position_.

Referenced by operator!=().

◆ 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 BMNOEXCEPT, iterator_base(), and 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 BMNOEXCEPT, iterator_base(), and 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 BMNOEXCEPT, bm::id_max, and 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++(), bm::bvector< Alloc >::counted_enumerator::operator=(), print_bvector(), 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< bm::bvector<> >::TranslateResults().

◆ bvector

Field Documentation

◆ bdescr_

◆ block_

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

Block pointer.(NULL-invalid).

Definition at line 351 of file bm.h.

Referenced by compare_state(), bm::bvector< Alloc >::enumerator::go_first(), bm::bvector< Alloc >::enumerator::go_to(), and iterator_base().

◆ 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_

◆ position_


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