NCBI C++ ToolKit
|
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>
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... | |
![]() | |
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_loc > | MakeSeq_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_I > | GetEquivSetRange (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_I > | GetEquivPartRange (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... | |
![]() | |
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_CI & | operator= (const CSeq_loc_CI &iter) |
CSeq_loc_CI & | operator++ (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_CI > | GetBondRange (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_CI > | GetEquivSetRange (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_CI > | GetEquivPartRange (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_id & | GetSeq_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_loc > | GetRangeAsSeq_loc (void) const |
Get seq-loc for the current iterator position. More... | |
const CSeq_loc & | GetEmbeddingSeq_loc (void) const |
Get the nearest seq-loc containing the current range. More... | |
const CSeq_loc & | GetSeq_loc (void) const |
const CInt_fuzz * | GetFuzzFrom (void) const |
const CInt_fuzz * | GetFuzzTo (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_CI & | operator* () const |
Protected Member Functions | |
SSeq_loc_CI_RangeInfo & | x_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_RangeInfo & | x_GetRangeInfo (void) const |
![]() | |
const SSeq_loc_CI_RangeInfo & | x_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 | |
![]() | |
CRef< CSeq_loc_CI_Impl > | m_Impl |
size_t | m_Index |
Seq-loc iterator class – iterates all intervals from a seq-loc in the correct order.
Definition at line 592 of file Seq_loc.hpp.
|
protected |
Definition at line 575 of file Seq_loc.cpp.