NCBI C++ ToolKit
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
CSeqVector_CI Class Reference

Search Toolkit Book for CSeqVector_CI

#include <objmgr/seq_vector_ci.hpp>

+ Inheritance diagram for CSeqVector_CI:
+ Collaboration diagram for CSeqVector_CI:

Classes

class  CTempValue
 special temporary holder for return value from postfix operators More...
 

Public Member Functions

 CSeqVector_CI (void)
 
 ~CSeqVector_CI (void)
 
 CSeqVector_CI (const CSeqVector &seq_vector, TSeqPos pos=0)
 
 CSeqVector_CI (const CSeqVector &seq_vector, TSeqPos pos, ECaseConversion case_cvt)
 
 CSeqVector_CI (const CSeqVector &seq_vector, ENa_strand strand, TSeqPos pos=0, ECaseConversion=eCaseConversion_none)
 
 CSeqVector_CI (const CSeqVector_CI &sv_it)
 
CSeqVector_CIoperator= (const CSeqVector_CI &sv_it)
 
bool operator== (const CSeqVector_CI &iter) const
 
bool operator!= (const CSeqVector_CI &iter) const
 
bool operator< (const CSeqVector_CI &iter) const
 
bool operator> (const CSeqVector_CI &iter) const
 
bool operator>= (const CSeqVector_CI &iter) const
 
bool operator<= (const CSeqVector_CI &iter) const
 
bool CanGetRange (TSeqPos start, TSeqPos stop)
 Check if the sequence can be obtained for the interval [start, stop) More...
 
void GetSeqData (TSeqPos start, TSeqPos stop, string &buffer)
 Fill the buffer string with the sequence data for the interval [start, stop). More...
 
void GetSeqData (string &buffer, TSeqPos count)
 Fill the buffer string with the count bytes of sequence data starting with current iterator position. More...
 
TSeqPos GetBufferSize (void) const
 Get number of chars from current position to the current buffer end. More...
 
const char * GetBufferPtr (void) const
 Get pointer to current char in the buffer. More...
 
const char * GetBufferEnd (size_t size) const
 Get pointer to current position+size. More...
 
CSeqVector_CIoperator++ (void)
 
CSeqVector_CIoperator-- (void)
 
CTempValue operator++ (int)
 Restricted postfix operators. More...
 
CTempValue operator-- (int)
 
TSeqPos GetPos (void) const
 
CSeqVector_CISetPos (TSeqPos pos)
 
TCoding GetCoding (void) const
 
void SetCoding (TCoding coding)
 
ENa_strand GetStrand (void) const
 
void SetStrand (ENa_strand strand)
 
void SetRandomizeAmbiguities (void)
 
void SetRandomizeAmbiguities (Uint4 seed)
 
void SetRandomizeAmbiguities (CRandom &random_gen)
 
void SetRandomizeAmbiguities (CRef< INcbi2naRandomizer > randomizer)
 
void SetNoAmbiguities (void)
 
TResidue operator* (void) const
 
bool IsValid (void) const
 
 DECLARE_OPERATOR_BOOL (IsValid())
 
const CSeqMap_CIGetCurrentSeqMap_CI () const
 
bool IsInGap (void) const
 true if current position of CSeqVector_CI is inside of sequence gap More...
 
CConstRef< CSeq_literalGetGapSeq_literal (void) const
 returns gap Seq-data object ref returns null if it's not a gap or an unspecified gap More...
 
TResidue GetGapChar (void) const
 returns character representation of gap in sequence More...
 
TSeqPos GetGapSizeForward (void) const
 returns number of gap symbols ahead including current symbol returns 0 if current position is not in gap More...
 
TSeqPos GetGapSizeBackward (void) const
 returns number of gap symbols before current symbol returns 0 if current position is not in gap More...
 
TSeqPos SkipGap (void)
 skip current gap forward returns number of skipped gap symbols does nothing and returns 0 if current position is not in gap More...
 
TSeqPos SkipGapBackward (void)
 skip current gap backward returns number of skipped gap symbols does nothing and returns 0 if current position is not in gap More...
 
bool HasZeroGapBefore (void)
 true if there is zero-length gap before current position More...
 
CSeqVector_CIoperator+= (TSeqPos value)
 
CSeqVector_CIoperator-= (TSeqPos value)
 

Private Types

typedef AutoArray< char > TCacheData
 
typedef char * TCache_I
 

Private Member Functions

TSeqPos x_GetSize (void) const
 
TCoding x_GetCoding (TCoding cacheCoding, TCoding dataCoding) const
 
void x_SetPos (TSeqPos pos)
 
void x_InitializeCache (void)
 
void x_ClearCache (void)
 
void x_ResizeCache (size_t size)
 
void x_SwapCache (void)
 
void x_UpdateCacheUp (TSeqPos pos)
 
void x_UpdateCacheDown (TSeqPos pos)
 
void x_FillCache (TSeqPos start, TSeqPos count)
 
void x_UpdateSeg (TSeqPos pos)
 
void x_InitSeg (TSeqPos pos)
 
void x_IncSeg (void)
 
void x_DecSeg (void)
 
void x_CheckForward (void)
 
void x_CheckBackward (void)
 
void x_InitRandomizer (CRandom &random_gen)
 
void x_NextCacheSeg (void)
 
void x_PrevCacheSeg (void)
 
TSeqPos x_CachePos (void) const
 
TSeqPos x_CacheSize (void) const
 
TSeqPos x_CacheEndPos (void) const
 
TSeqPos x_BackupPos (void) const
 
TSeqPos x_BackupSize (void) const
 
TSeqPos x_BackupEndPos (void) const
 
TSeqPos x_CacheOffset (void) const
 
void x_ResetCache (void)
 
void x_ResetBackup (void)
 
void x_ThrowOutOfRange (void) const
 
void x_SetVector (CSeqVector &seq_vector)
 

Private Attributes

CHeapScope m_Scope
 
CConstRef< CSeqMapm_SeqMap
 
CTSE_Handle m_TSE
 
vector< CTSE_Handlem_UsedTSEs
 
ENa_strand m_Strand
 
TCoding m_Coding
 
ECaseConversion m_CaseConversion
 
CSeqMap_CI m_Seg
 
TCache_I m_Cache
 
TSeqPos m_CachePos
 
TCacheData m_CacheData
 
TCache_I m_CacheEnd
 
TSeqPos m_BackupPos
 
TCacheData m_BackupData
 
TCache_I m_BackupEnd
 
CRef< INcbi2naRandomizerm_Randomizer
 
TSeqPos m_ScannedStart
 
TSeqPos m_ScannedEnd
 

Friends

class CSeqVector
 

Additional Inherited Members

- Public Types inherited from CSeqVectorTypes
enum  ECaseConversion { eCaseConversion_none , eCaseConversion_upper , eCaseConversion_lower }
 
typedef unsigned char TResidue
 
typedef CSeq_data::E_Choice TCoding
 
typedef TResidue value_type
 
typedef TSeqPos size_type
 
typedef TSignedSeqPos difference_type
 
typedef std::random_access_iterator_tag iterator_category
 
typedef const TResiduepointer
 
typedef const TResiduereference
 
- Static Protected Member Functions inherited from CSeqVectorTypes
static TResidue sx_GetGapChar (TCoding coding, ECaseConversion case_cvt)
 
static const char * sx_GetConvertTable (TCoding src, TCoding dst, bool reverse, ECaseConversion case_cvt)
 
- Static Protected Attributes inherited from CSeqVectorTypes
static const char sm_TrivialTable [256]
 

Detailed Description

Definition at line 104 of file seq_vector_ci.hpp.


The documentation for this class was generated from the following files:
Modified on Mon Apr 22 04:02:26 2024 by modify_doxy.py rev. 669887