NCBI C++ ToolKit
Public Types | Public Member Functions | Protected Member Functions | List of all members
CSeq_loc_I Class Reference

Search Toolkit Book for CSeq_loc_I

Seq-loc iterator class – iterates all intervals from a seq-loc in the correct order. More...

#include <objects/seqloc/Seq_loc.hpp>

+ Inheritance diagram for CSeq_loc_I:
+ Collaboration diagram for CSeq_loc_I:

Public Types

enum  EMakeType { eMake_CompactType , eMake_PreserveType }
 Options for creation modified locations Bond and equiv types are preserved if possible. More...
 
enum  EEquivMode {
  eEquiv_none , eEquiv_new_equiv , eEquiv_new_part , eEquiv_append ,
  eEquiv_prepend
}
 This enum defines a way equiv sets are expanded or created when one of Insert*() methods is called. More...
 
- Public Types inherited from CSeq_loc_CI
enum  EEmptyFlag { eEmpty_Skip , eEmpty_Allow }
 Options for empty locations processing. More...
 
enum  ESeqLocOrder { eOrder_Positional , eOrder_Biological }
 
typedef CSeq_loc::TRange TRange
 

Public Member Functions

 CSeq_loc_I (void)
 constructors More...
 
 CSeq_loc_I (CSeq_loc &loc)
 
 CSeq_loc_I (const CSeq_loc_I &iter, size_t pos)
 construct iterator at a different position in the same location More...
 
virtual ~CSeq_loc_I (void)
 destructor More...
 
bool HasChanges (void) const
 return true of any part was changed since initialization More...
 
CRef< CSeq_locMakeSeq_loc (EMakeType make_type=eMake_CompactType) const
 return constructed CSeq_loc with all changes More...
 
void Delete (void)
 Delete current element, and make iterator to point to the next element. More...
 
CSeq_loc_I InsertNull (void)
 Set of Insert*() methods. More...
 
CSeq_loc_I InsertEmpty (const CSeq_id_Handle &id)
 Insert new element before the current one (. More...
 
CSeq_loc_I InsertEmpty (const CSeq_id &id)
 Insert new element before the current one (. More...
 
CSeq_loc_I InsertWhole (const CSeq_id_Handle &id)
 Insert new element before the current one (. More...
 
CSeq_loc_I InsertWhole (const CSeq_id &id)
 Insert new element before the current one (. More...
 
CSeq_loc_I InsertInterval (const CSeq_id_Handle &id, const TRange &range, ENa_strand strand=eNa_strand_unknown)
 Insert new element before the current one (. More...
 
CSeq_loc_I InsertInterval (const CSeq_id &id, const TRange &range, ENa_strand strand=eNa_strand_unknown)
 Insert new element before the current one (. More...
 
CSeq_loc_I InsertInterval (const CSeq_id &id, TSeqPos from, TSeqPos to, ENa_strand strand=eNa_strand_unknown)
 Insert new element before the current one (. More...
 
CSeq_loc_I InsertInterval (const CSeq_id_Handle &id, TSeqPos from, TSeqPos to, ENa_strand strand=eNa_strand_unknown)
 Insert new element before the current one (. More...
 
CSeq_loc_I InsertPoint (const CSeq_id_Handle &id, TSeqPos pos, ENa_strand strand=eNa_strand_unknown)
 Insert new element before the current one (. More...
 
CSeq_loc_I InsertPoint (const CSeq_id &id, TSeqPos pos, ENa_strand strand=eNa_strand_unknown)
 Insert new element before the current one (. More...
 
void SetSeq_id_Handle (const CSeq_id_Handle &id)
 Set seq_id of the current location. More...
 
void SetSeq_id (const CSeq_id &id)
 Set seq_id of the current location. More...
 
void SetRange (const TRange &range)
 Set the range. More...
 
void SetFrom (TSeqPos from)
 Set the range from position. More...
 
void SetTo (TSeqPos to)
 Set the range to position. More...
 
void SetPoint (TSeqPos pos)
 Set the range from and to positions. More...
 
void ResetStrand (void)
 Reset the range strand. More...
 
void SetStrand (ENa_strand strand)
 Set the range strand. More...
 
void ResetFuzzFrom (void)
 Reset fuzz from. More...
 
void SetFuzzFrom (CInt_fuzz &fuzz)
 Change fuzz from. More...
 
void ResetFuzzTo (void)
 Reset fuzz to. More...
 
void SetFuzzTo (CInt_fuzz &fuzz)
 Change fuzz to values. More...
 
void ResetFuzz (void)
 Reset fuzz of a point. More...
 
void SetFuzz (CInt_fuzz &fuzz)
 Change fuzz of a point. More...
 
pair< CSeq_loc_I, CSeq_loc_IGetEquivSetRange (size_t level=0) const
 Return iterators that cover equiv set of current position result.first is the first segment in the equiv set result.second is the first segment after the equiv set level specify equiv set if there are more than one of them level = 0 is the smallest equiv set (innermost) More...
 
pair< CSeq_loc_I, CSeq_loc_IGetEquivPartRange (size_t level=0) const
 Return iterators that cover equiv part of current position result.first is the first segment in the equiv part result.second is the first segment after the equiv part level specify equiv set if there are more than one of them level = 0 is the smallest equiv set (innermost) More...
 
void SetEquivMode (EEquivMode mode)
 Change equiv modification mode. More...
 
void StartNewEquiv (void)
 Change equiv modification mode to add new equiv set for the next insert operation. More...
 
void StartNewEquivPart (void)
 Change equiv modification mode to add new equiv part for the next insert operation. More...
 
void StopEquiv (void)
 Change equiv modification mode to normal behavior that will only update existing equiv sets. More...
 
EEquivMode GetEquivMode (void) const
 Get equiv modification mode. More...
 
void RemoveEquiv (size_t level=0)
 Remove equiv set, all pieces that are part of the set will be preserved as independent pieces. More...
 
void MakeEquiv (const CSeq_loc_I &end_it)
 Create equiv set with one part from current position to the position pointed by end_it argument exclusive. More...
 
void MakeEquivPartBreak (size_t level=0)
 Create equiv set with one part from current position to the position pointed by end_it argument exclusive. More...
 
void RemoveBond (void)
 Remove bond at current position - it may be either A or B part. More...
 
void MakeBondA (void)
 Make bond at current position (only A) The current part must be a point If current posision is already a bond A part, it will be updated. More...
 
void MakeBondAB (void)
 Make bond at current position with the next position (A and B) The current and next parts must be points If current posision is already a bond A part, it will be updated. More...
 
void MakeBondB (void)
 Make bond at previous position with the current position (A and B) The current and previous parts must be points If previous posision is already a bond A part, it will be updated. More...
 
- Public Member Functions inherited from CSeq_loc_CI
 CSeq_loc_CI (void)
 constructors More...
 
 CSeq_loc_CI (const CSeq_loc &loc, EEmptyFlag empty_flag=eEmpty_Skip, ESeqLocOrder order=eOrder_Biological)
 
 CSeq_loc_CI (const CSeq_loc_CI &iter, size_t pos)
 construct iterator at a different position in the same location More...
 
virtual ~CSeq_loc_CI (void)
 destructor More...
 
 CSeq_loc_CI (const CSeq_loc_CI &iter)
 
CSeq_loc_CIoperator= (const CSeq_loc_CI &iter)
 
CSeq_loc_CIoperator++ (void)
 
 DECLARE_OPERATOR_BOOL (x_IsValid())
 
bool operator== (const CSeq_loc_CI &iter) const
 
bool operator!= (const CSeq_loc_CI &iter) const
 
bool IsInBond (void) const
 Location of type equiv define set of equivalent locations. More...
 
bool IsBondA (void) const
 Return true if current position is A part of a bond. More...
 
bool IsBondB (void) const
 Return true if current position is B part of a bond. More...
 
pair< CSeq_loc_CI, CSeq_loc_CIGetBondRange (void) const
 Return iterators that cover bond of current position result.first is the first segment in the equiv set result.second is the first segment after the equiv set. More...
 
bool HasEquivSets (void) const
 Return true if location has equiv parts. More...
 
bool IsInEquivSet (void) const
 Return true if current position is in some equiv part. More...
 
size_t GetEquivSetsCount (void) const
 Return number of recursuve equiv parts current position in. More...
 
pair< CSeq_loc_CI, CSeq_loc_CIGetEquivSetRange (size_t level=0) const
 Return iterators that cover equiv set of current position result.first is the first segment in the equiv set result.second is the first segment after the equiv set level specify equiv set if there are more than one of them level = 0 is the smallest equiv set (innermost) More...
 
pair< CSeq_loc_CI, CSeq_loc_CIGetEquivPartRange (size_t level=0) const
 Return iterators that cover equiv part of current position result.first is the first segment in the equiv part result.second is the first segment after the equiv part level specify equiv set if there are more than one of them level = 0 is the smallest equiv set (innermost) More...
 
const CSeq_idGetSeq_id (void) const
 Get seq_id of the current location. More...
 
CSeq_id_Handle GetSeq_id_Handle (void) const
 
TRange GetRange (void) const
 Get the range. More...
 
bool IsSetStrand (void) const
 Get strand. More...
 
ENa_strand GetStrand (void) const
 
CConstRef< CSeq_locGetRangeAsSeq_loc (void) const
 Get seq-loc for the current iterator position. More...
 
const CSeq_locGetEmbeddingSeq_loc (void) const
 Get the nearest seq-loc containing the current range. More...
 
const CSeq_locGetSeq_loc (void) const
 
const CInt_fuzzGetFuzzFrom (void) const
 
const CInt_fuzzGetFuzzTo (void) const
 
bool IsWhole (void) const
 True if the current location is a whole sequence. More...
 
bool IsEmpty (void) const
 True if the current location is empty. More...
 
bool IsPoint (void) const
 True if the current location is a single point. More...
 
void Rewind (void)
 Reset the iterator to the initial state. More...
 
size_t GetSize (void) const
 Get number of ranges. More...
 
size_t GetPos (void) const
 Get iterator's position. More...
 
void SetPos (size_t pos)
 Set iterator's position. More...
 
const CSeq_loc_CIoperator* () const
 

Protected Member Functions

SSeq_loc_CI_RangeInfox_GetRangeInfo (void)
 
void x_SetSeq_id_Handle (SSeq_loc_CI_RangeInfo &info, const CSeq_id_Handle &id)
 
bool x_IsValidForInsert (void) const
 
void x_CheckValidForInsert (const char *where) const
 
virtual const char * x_GetIteratorType (void) const
 
const SSeq_loc_CI_RangeInfox_GetRangeInfo (void) const
 
- Protected Member Functions inherited from CSeq_loc_CI
const SSeq_loc_CI_RangeInfox_GetRangeInfo (void) const
 
bool x_IsValid (void) const
 
void x_CheckValid (const char *where) const
 
void x_ThrowNotValid (const char *where) const
 

Additional Inherited Members

- Protected Attributes inherited from CSeq_loc_CI
CRef< CSeq_loc_CI_Implm_Impl
 
size_t m_Index
 

Detailed Description

Seq-loc iterator class – iterates all intervals from a seq-loc in the correct order.

Definition at line 592 of file Seq_loc.hpp.

Member Function Documentation

◆ x_GetRangeInfo()

const SSeq_loc_CI_RangeInfo & CSeq_loc_CI::x_GetRangeInfo ( void  )
protected

Definition at line 575 of file Seq_loc.cpp.


The documentation for this class was generated from the following files:
Modified on Mon Dec 11 02:36:09 2023 by modify_doxy.py rev. 669887