NCBI C++ ToolKit
Classes | Public Member Functions | Protected Attributes | Friends | List of all members
bm::bvector< Alloc >::iterator_base Class Reference

Search Toolkit Book for bm::bvector::iterator_base

Base class for all iterators. More...

#include <util/bitset/bm.h>

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

Classes

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

Public Member Functions

 iterator_base () noexcept
 
bool operator== (const iterator_base &it) const noexcept
 
bool operator!= (const iterator_base &it) const noexcept
 
bool operator< (const iterator_base &it) const noexcept
 
bool operator<= (const iterator_base &it) const noexcept
 
bool operator> (const iterator_base &it) const noexcept
 
bool operator>= (const iterator_base &it) const noexcept
 
bool valid () const noexcept
 Checks if iterator is still valid. More...
 
void invalidate () noexcept
 Turns iterator into an invalid state. More...
 
bool compare_state (const iterator_base &ib) const noexcept
 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_
 

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 ( )
inlinenoexcept

Definition at line 243 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
inlinenoexcept

Compare FSMs for testing purposes.

Definition at line 295 of file bm.h.

Referenced by CompareEnumerators().

◆ invalidate()

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

◆ operator!=()

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

Definition at line 253 of file bm.h.

◆ operator<()

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

Definition at line 258 of file bm.h.

◆ operator<=()

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

Definition at line 263 of file bm.h.

◆ operator==()

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

Definition at line 248 of file bm.h.

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

◆ operator>()

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

Definition at line 268 of file bm.h.

◆ operator>=()

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

Definition at line 273 of file bm.h.

◆ valid()

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

Checks if iterator is still valid.

Analog of != 0 comparison for pointers.

Returns
true if iterator is valid.

Definition at line 283 of file bm.h.

Referenced by CNSAffinityRegistry::AddClientToAffinities(), BVectorErase(), BVectorInsert(), BVImportTest(), CQueue::CheckExecutionTimeout(), CheckIntervals(), CQueue::CheckJobsExpiry(), CNSAffinityRegistry::CheckRemoveCandidates(), CNSGroupsRegistry::CheckRemoveCandidates(), CheckVectors(), CNSAffinityRegistry::CollectGarbage(), CNSGroupsRegistry::CollectGarbage(), CompareEnumerators(), bm::bvector< >::counted_enumerator::counted_enumerator(), CQueue::DeleteBatch(), DetailedCheckVectors(), DetailedCompareBVectors(), CQueue::Dump(), CNSAffinityRegistry::Dump(), CNSGroupsRegistry::Dump(), EmptyBVTest(), EnumeratorTest(), CBDB_Cache::EvaluateTimeLine(), FindLastBit(), CJobStatusTracker::GetJobByStatus(), CNSGroupsRegistry::GetJobs(), CNSAffinityRegistry::GetJobsWithAffinities(), CJobStatusTracker::GetOutdatedPendingJobs(), CJobStatusTracker::GetOutdatedReadVacantJobs(), bm::bvector< Alloc >::enumerator::go_to(), bm::bvector< Alloc >::enumerator::go_up(), main(), bm::bvector< >::counted_enumerator::operator++(), bm::bvector< >::counted_enumerator::operator=(), SNSNotificationAttributes::Print(), CNSAffinityRegistry::Print(), CNSGroupsRegistry::Print(), CNSClient::Print(), CNetScheduleAccessList::Print(), print_bv(), CNSClientsRegistry::PrintClientsList(), ResizeTest(), CNSGroupsRegistry::RestrictByGroup(), CNSAffinityRegistry::SetWaitClientForAffinities(), ShiftRight(), bm::bvector< Alloc >::enumerator::skip(), bm::bvector< >::enumerator::skip_to_rank(), TestCompressSparseSignedVector(), TestCompressSparseVector(), TestSparseVectorTransform(), CPhyTreeCalc::x_CalcDivergenceMatrix(), CQueue::x_CancelJobs(), CQueue::x_DumpJobs(), CQueue::x_FindVacantJob(), CQueue::x_GetRunningJobsPerClientIP(), CNSGroupsRegistry::x_PrintOne(), CNSScopeRegistry::x_PrintOne(), CNSAffinityRegistry::x_PrintOne(), CNSAffinityRegistry::x_RemoveClientFromAffinities(), CQueue::x_ResetReadingDueToClear(), CQueue::x_ResetReadingDueToNewSession(), CQueue::x_ResetRunningDueToClear(), and CQueue::x_ResetRunningDueToNewSession().

Friends And Related Function Documentation

◆ bvector

template<class Alloc >
friend class bvector
friend

Definition at line 241 of file bm.h.

Member Data 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:
Modified on Fri Jun 14 16:53:49 2024 by modify_doxy.py rev. 669887