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:


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


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 rev. 669887