NCBI C++ ToolKit
|
Search Toolkit Book for CSparse_CI
Implementation of IAlnSegmentIterator for CSparseAln. More...
#include <objtools/alnmgr/sparse_ci.hpp>
Public Types | |
typedef CPairwise_CI::TSignedRange | TSignedRange |
typedef CSparseAln::TDim | TDim |
Public Types inherited from IAlnSegmentIterator | |
enum | EFlags { eAllSegments , eSkipGaps , eInsertsOnly , eSkipInserts } |
Iterator options. More... | |
typedef IAlnSegment | value_type |
Public Member Functions | |
CSparse_CI (void) | |
Create 'empty' iterator. More... | |
CSparse_CI (const CSparseAln &aln, TDim row, EFlags flags) | |
Iterate the specified row of the alignment. More... | |
CSparse_CI (const CSparseAln &aln, TDim row, EFlags flags, const TSignedRange &range) | |
Iterate the selected range on the alignment row. More... | |
CSparse_CI (const CSparse_CI &orig) | |
virtual | ~CSparse_CI (void) |
virtual IAlnSegmentIterator * | Clone (void) const |
Create a copy of the iterator. More... | |
virtual | operator bool (void) const |
Return true if iterator points to a valid segment. More... | |
virtual IAlnSegmentIterator & | operator++ (void) |
Advance to the next segment. More... | |
virtual bool | operator== (const IAlnSegmentIterator &it) const |
Compare iterators. More... | |
virtual bool | operator!= (const IAlnSegmentIterator &it) const |
virtual const value_type & | operator* (void) const |
virtual const value_type * | operator-> (void) const |
bool | IsAnchorDirect (void) const |
Check if the anchor row coordinates are on plus strand. More... | |
Public Member Functions inherited from IAlnSegmentIterator | |
virtual | ~IAlnSegmentIterator (void) |
Private Member Functions | |
void | x_InitIterator (void) |
void | x_InitSegment (void) |
CSparse_CI. More... | |
void | x_CheckSegment (void) |
void | x_NextSegment (void) |
bool | x_Equals (const CSparse_CI &other) const |
Implementation of IAlnSegmentIterator for CSparseAln.
Definition at line 72 of file sparse_ci.hpp.
typedef CSparseAln::TDim CSparse_CI::TDim |
Definition at line 76 of file sparse_ci.hpp.
Definition at line 75 of file sparse_ci.hpp.
CSparse_CI::CSparse_CI | ( | void | ) |
Create 'empty' iterator.
Definition at line 343 of file sparse_ci.cpp.
References IAlnSegment::fInvalid, COpenRange< TSignedSeqPos >::GetEmpty(), CSparseSegment::m_AlnRange, CSparseSegment::m_RowRange, m_Segment, and CSparseSegment::m_Type.
Referenced by Clone().
CSparse_CI::CSparse_CI | ( | const CSparseAln & | aln, |
TDim | row, | ||
EFlags | flags | ||
) |
Iterate the specified row of the alignment.
Definition at line 356 of file sparse_ci.cpp.
References x_InitIterator().
CSparse_CI::CSparse_CI | ( | const CSparseAln & | aln, |
TDim | row, | ||
EFlags | flags, | ||
const TSignedRange & | range | ||
) |
Iterate the selected range on the alignment row.
Definition at line 370 of file sparse_ci.cpp.
References x_InitIterator().
CSparse_CI::CSparse_CI | ( | const CSparse_CI & | orig | ) |
Definition at line 385 of file sparse_ci.cpp.
References orig.
|
virtual |
Definition at line 391 of file sparse_ci.cpp.
|
virtual |
Create a copy of the iterator.
Implements IAlnSegmentIterator.
Definition at line 396 of file sparse_ci.cpp.
References CSparse_CI().
|
inline |
Check if the anchor row coordinates are on plus strand.
Definition at line 112 of file sparse_ci.hpp.
References m_AnchorDirect.
|
virtual |
Return true if iterator points to a valid segment.
Implements IAlnSegmentIterator.
Definition at line 402 of file sparse_ci.cpp.
|
virtual |
Implements IAlnSegmentIterator.
Definition at line 426 of file sparse_ci.cpp.
References x_Equals().
|
virtual |
Implements IAlnSegmentIterator.
Definition at line 436 of file sparse_ci.cpp.
|
virtual |
Advance to the next segment.
Implements IAlnSegmentIterator.
Definition at line 408 of file sparse_ci.cpp.
References x_CheckSegment(), and x_NextSegment().
|
virtual |
Implements IAlnSegmentIterator.
Definition at line 443 of file sparse_ci.cpp.
|
virtual |
Compare iterators.
Implements IAlnSegmentIterator.
Definition at line 416 of file sparse_ci.cpp.
References x_Equals().
|
private |
Definition at line 281 of file sparse_ci.cpp.
References IAlnSegmentIterator::eAllSegments, IAlnSegmentIterator::eInsertsOnly, COpenRange< Position >::Empty(), IAlnSegmentIterator::eSkipGaps, IAlnSegmentIterator::eSkipInserts, IAlnSegment::fIndel, IAlnSegment::fUnaligned, IAlnSegment::IsAligned(), CSparseSegment::m_AlnRange, m_Flags, m_Segment, CSparseSegment::m_Type, and x_NextSegment().
Referenced by operator++(), and x_InitIterator().
|
private |
Definition at line 329 of file sparse_ci.cpp.
References m_Aln, m_AnchorIt, m_Flags, m_NextAnchorRg, m_NextRowRg, m_Row, m_RowIt, m_Segment, and m_TotalRange.
Referenced by operator!=(), and operator==().
|
private |
Definition at line 247 of file sparse_ci.cpp.
References CAlignRangeCollectionList< CAlignRange< TSignedSeqPos > >::fMixedDir, CAnchoredAln::GetAnchorRow(), COpenRange< TSignedSeqPos >::GetEmpty(), CPairwise_CI::GetFirstRange(), CAlignRangeCollectionList< TAlnRange >::GetFlags(), CAnchoredAln::GetPairwiseAlns(), m_Aln, CSparseSegment::m_AlnRange, m_AnchorIt, m_NextAnchorRg, m_NextRowRg, m_Row, m_RowIt, m_Segment, m_TotalRange, CConstRef< C, Locker >::Reset(), x_CheckSegment(), and x_InitSegment().
Referenced by CSparse_CI().
|
private |
Definition at line 77 of file sparse_ci.cpp.
References _ASSERT, CPairwise_CI::eGap, COpenRange< Position >::Empty(), IAlnSegment::fAligned, IAlnSegment::fGap, IAlnSegment::fIndel, IAlnSegment::fInvalid, IAlnSegment::fReversed, IAlnSegment::fUnaligned, COpenRange< TSignedSeqPos >::GetEmpty(), CPairwise_CI::GetFirstRange(), CRange_Base::GetFrom(), COpenRange< Position >::GetLength(), CPairwise_CI::GetSecondRange(), CPairwise_CI::GetSegType(), COpenRange< Position >::GetToOpen(), CPairwise_CI::IsDirect(), CPairwise_CI::IsFirstDirect(), m_Aln, CSparseSegment::m_AlnRange, m_AnchorDirect, m_AnchorIt, m_NextAnchorRg, m_NextRowRg, m_RowDirect, m_RowIt, CSparseSegment::m_RowRange, m_Segment, CSparseSegment::m_Type, max(), min(), CConstRef< C, Locker >::Reset(), CRange_Base::SetFrom(), COpenRange< Position >::SetOpen(), COpenRange< Position >::SetToOpen(), and swap().
Referenced by x_InitIterator(), and x_NextSegment().
|
private |
Definition at line 306 of file sparse_ci.cpp.
References COpenRange< Position >::Empty(), CPairwise_CI::GetFirstRange(), m_AnchorIt, m_NextAnchorRg, m_NextRowRg, m_RowIt, and x_InitSegment().
Referenced by operator++(), and x_CheckSegment().
|
private |
Definition at line 123 of file sparse_ci.hpp.
Referenced by x_Equals(), x_InitIterator(), and x_InitSegment().
|
private |
Definition at line 130 of file sparse_ci.hpp.
Referenced by IsAnchorDirect(), and x_InitSegment().
|
private |
Definition at line 126 of file sparse_ci.hpp.
Referenced by x_Equals(), x_InitIterator(), x_InitSegment(), and x_NextSegment().
|
private |
Definition at line 121 of file sparse_ci.hpp.
Referenced by x_CheckSegment(), and x_Equals().
|
private |
Definition at line 128 of file sparse_ci.hpp.
Referenced by x_Equals(), x_InitIterator(), x_InitSegment(), and x_NextSegment().
|
private |
Definition at line 129 of file sparse_ci.hpp.
Referenced by x_Equals(), x_InitIterator(), x_InitSegment(), and x_NextSegment().
|
private |
Definition at line 124 of file sparse_ci.hpp.
Referenced by x_Equals(), and x_InitIterator().
|
private |
Definition at line 131 of file sparse_ci.hpp.
Referenced by x_InitSegment().
|
private |
Definition at line 127 of file sparse_ci.hpp.
Referenced by x_Equals(), x_InitIterator(), x_InitSegment(), and x_NextSegment().
|
private |
Definition at line 122 of file sparse_ci.hpp.
Referenced by CSparse_CI(), operator*(), operator->(), x_CheckSegment(), x_Equals(), x_InitIterator(), and x_InitSegment().
|
private |
Definition at line 125 of file sparse_ci.hpp.
Referenced by x_Equals(), and x_InitIterator().