bm::bvector< Alloc >::iterator_base Class Reference
BitMagic Library » bvector<> container » bvector<> iterators

Base class for all iterators. More...

`#include <bm.h>`

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

## 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_t * | block_
| 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()

template<class Alloc>

bm::bvector< Alloc >::iterator_base::iterator_base | ( |  | ) |

inline

Definition at line 243 of file bm.h.

References block_, block_idx_, block_type_, BMNOEXCEPT, bv_, bm::id_max, and position_.

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

## Member Function Documentation

## compare_state()

template<class Alloc>

bool bm::bvector< Alloc >::iterator_base::compare_state | ( | const iterator_base & | ib | ) | const

inline

Compare FSMs for testing purposes.

Definition at line 295 of file bm.h.

References bdescr_, bm::bvector< Alloc >::iterator_base::block_descr::bit_, bm::bvector< Alloc >::iterator_base::bitblock_descr::bits, block_, block_idx_, block_type_, BMNOEXCEPT, bv_, bm::bvector< Alloc >::iterator_base::bitblock_descr::cnt, bm::bvector< Alloc >::iterator_base::block_descr::gap_, bm::bvector< Alloc >::iterator_base::dgap_descr::gap_len, bm::bvector< Alloc >::iterator_base::bitblock_descr::idx, iterator_base(), bm::bvector< Alloc >::iterator_base::bitblock_descr::pos, position_, bm::bvector< Alloc >::iterator_base::bitblock_descr::ptr, and bm::bvector< Alloc >::iterator_base::dgap_descr::ptr.

## invalidate()

template<class Alloc>

void bm::bvector< Alloc >::iterator_base::invalidate | ( |  | ) |

inline

Turns iterator into an invalid state.

Definition at line 289 of file bm.h.

References block_type_, BMNOEXCEPT, bm::id_max, and position_.

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

## 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().

## Friends And Related Symbol Documentation

## bvector

template<class Alloc>

friend class bvector

friend

Definition at line 241 of file bm.h.

References bvector.

Referenced by bvector, bm::bvector< Alloc >::enumerator::enumerator(), bm::bvector< Alloc >::enumerator::enumerator(), bm::bvector< Alloc >::enumerator::enumerator(), and bm::bvector< dbg_alloc >::operator~().

## Field Documentation

## bdescr_

template<class Alloc>

union bm::bvector::iterator_base::block_descr bm::bvector< Alloc >::iterator_base::bdescr_

protected

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

## 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 index.

Definition at line 353 of file bm.h.

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

## block_type_

template<class Alloc>

unsigned bm::bvector< Alloc >::iterator_base::block_type_

protected

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

Definition at line 352 of file bm.h.

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

## bv_

template<class Alloc>

bm::bvector<Alloc>* bm::bvector< Alloc >::iterator_base::bv_

protected

Pointer on parent bitvector.

Definition at line 349 of file bm.h.

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

## position_

template<class Alloc>

size_type bm::bvector< Alloc >::iterator_base::position_

protected

Bit position (bit idx).

Definition at line 350 of file bm.h.

Referenced by compare_state(), bm::bvector< Alloc >::enumerator::go_first(), bm::bvector< Alloc >::enumerator::go_to(), bm::bvector< Alloc >::enumerator::go_up(), invalidate(), iterator_base(), bm::bvector< Alloc >::enumerator::operator*(), operator<(), operator<=(), operator==(), operator>(), operator>=(), bm::bvector< Alloc >::enumerator::skip(), valid(), and bm::bvector< Alloc >::enumerator::value().

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

- bm.h