📄 feat_ci.hpp
字号:
CFeat_CI& operator++(void); CFeat_CI& operator--(void); operator bool (void) const; void Update(void); void Rewind(void); const CMappedFeat& operator* (void) const; const CMappedFeat* operator-> (void) const;private: CFeat_CI& operator++ (int); CFeat_CI& operator-- (int); mutable CMappedFeat m_OriginalSeq_feat; // current feature object returned by operator->()};inlinevoid CFeat_CI::Update(void){ if ( IsValid() ) { m_OriginalSeq_feat.Set(GetCollector(), GetIterator()); } else { m_OriginalSeq_feat.Reset(); }}inlineCFeat_CI::operator bool (void) const{ return IsValid();}inlineCFeat_CI& CFeat_CI::operator++ (void){ Next(); Update(); return *this;}inlineCFeat_CI& CFeat_CI::operator-- (void){ Prev(); Update(); return *this;}inlinevoid CFeat_CI::Rewind(void){ CAnnotTypes_CI::Rewind(); Update();}inlineconst CMappedFeat& CFeat_CI::operator* (void) const{ return m_OriginalSeq_feat;}inlineconst CMappedFeat* CFeat_CI::operator-> (void) const{ return &**this;}inlineconst CSeq_feat& CMappedFeat::GetOriginalFeature(void) const{ return m_OriginalSeq_feat? *m_OriginalSeq_feat: x_MakeOriginalFeature();}inlineconst CSeq_feat& CMappedFeat::GetMappedFeature(void) const{ return m_MappedSeq_feat? *m_MappedSeq_feat: x_MakeMappedFeature();}inlineconst CSeq_loc& CMappedFeat::GetMappedLocation(void) const{ return m_MappedSeq_loc? *m_MappedSeq_loc: x_MakeMappedLocation();}END_SCOPE(objects)END_NCBI_SCOPE/** ---------------------------------------------------------------------------* $Log: feat_ci.hpp,v $* Revision 1000.3 2004/06/01 19:21:22 gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.41** Revision 1.41 2004/05/04 18:08:47 grichenk* Added CSeq_feat_Handle, CSeq_align_Handle and CSeq_graph_Handle** Revision 1.40 2004/04/07 13:20:17 grichenk* Moved more data from iterators to CAnnot_Collector** Revision 1.39 2004/04/05 15:56:13 grichenk* Redesigned CAnnotTypes_CI: moved all data and data collecting* functions to CAnnotDataCollector. CAnnotTypes_CI is no more* inherited from SAnnotSelector.** Revision 1.38 2004/03/16 15:47:26 vasilche* Added CBioseq_set_Handle and set of EditHandles** Revision 1.37 2004/02/04 18:05:32 grichenk* Added annotation filtering by set of types/subtypes.* Renamed *Choice to *Type in SAnnotSelector.** Revision 1.36 2004/01/28 20:54:34 vasilche* Fixed mapping of annotations.** Revision 1.35 2004/01/23 16:14:46 grichenk* Implemented alignment mapping** Revision 1.34 2003/11/07 16:01:26 vasilche* Added CMappedFeat::GetSeq_annot().** Revision 1.33 2003/08/27 14:28:50 vasilche* Reduce amount of object allocations in feature iteration.** Revision 1.32 2003/08/15 19:19:15 vasilche* Fixed memory leak in string packing hooks.* Fixed processing of 'partial' flag of features.* Allow table packing of non-point SNP.* Allow table packing of SNP with long alleles.** Revision 1.31 2003/08/15 15:22:41 grichenk* +CAnnot_CI** Revision 1.30 2003/08/14 20:05:18 vasilche* Simple SNP features are stored as table internally.* They are recreated when needed using CFeat_CI.** Revision 1.29 2003/08/04 17:02:57 grichenk* Added constructors to iterate all annotations from a* seq-entry or seq-annot.** Revision 1.28 2003/07/22 21:48:02 vasilche* Use typedef for member access.** Revision 1.27 2003/06/02 16:01:36 dicuccio* Rearranged include/objects/ subtree. This includes the following shifts:* - include/objects/alnmgr --> include/objtools/alnmgr* - include/objects/cddalignview --> include/objtools/cddalignview* - include/objects/flat --> include/objtools/flat* - include/objects/objmgr/ --> include/objmgr/* - include/objects/util/ --> include/objmgr/util/* - include/objects/validator --> include/objtools/validator** Revision 1.26 2003/04/24 16:12:37 vasilche* Object manager internal structures are splitted more straightforward.* Removed excessive header dependencies.** Revision 1.25 2003/03/26 14:55:57 vasilche* Removed redundant 'const' from methods returning 'const bool'.** Revision 1.24 2003/03/05 20:56:42 vasilche* SAnnotSelector now holds all parameters of annotation iterators.** Revision 1.23 2003/02/25 14:24:19 dicuccio* Added Win32 export specifier to CMappedFeat** Revision 1.22 2003/02/24 18:57:20 vasilche* Make feature gathering in one linear pass using CSeqMap iterator.* Do not use feture index by sub locations.* Sort features at the end of gathering in one vector.* Extracted some internal structures and classes in separate header.* Delay creation of mapped features.** Revision 1.21 2003/02/13 14:57:36 dicuccio* Changed interface to match new 'dataool'-generated code (built-in types* returned by value, not reference).** Revision 1.20 2003/02/13 14:34:31 grichenk* Renamed CAnnotObject -> CAnnotObject_Info* + CSeq_annot_Info and CAnnotObject_Ref* Moved some members of CAnnotObject to CSeq_annot_Info* and CAnnotObject_Ref.* Added feat/align/graph to CAnnotObject_Info map* to CDataSource.** Revision 1.19 2003/02/10 22:03:55 grichenk* operator++(int) made private** Revision 1.18 2003/02/10 15:50:44 grichenk* + CMappedFeat, CFeat_CI resolves to CMappedFeat** Revision 1.17 2002/12/26 20:50:18 dicuccio* Added Win32 export specifier. Removed unimplemented (private) operator++(int)** Revision 1.16 2002/12/24 15:42:44 grichenk* CBioseqHandle argument to annotation iterators made const** Revision 1.15 2002/12/20 20:54:23 grichenk* Added optional location/product switch to CFeat_CI** Revision 1.14 2002/12/06 15:35:57 grichenk* Added overlap type for annot-iterators** Revision 1.13 2002/12/05 19:28:30 grichenk* Prohibited postfix operator ++()** Revision 1.12 2002/07/08 20:50:56 grichenk* Moved log to the end of file* Replaced static mutex (in CScope, CDataSource) with the mutex* pool. Redesigned CDataSource data locking.** Revision 1.11 2002/05/06 03:30:35 vakatov* OM/OM1 renaming** Revision 1.10 2002/05/03 21:28:01 ucko* Introduce T(Signed)SeqPos.** Revision 1.9 2002/04/30 14:30:42 grichenk* Added eResolve_TSE flag in CAnnot_Types_CI, made it default** Revision 1.8 2002/04/17 20:57:50 grichenk* Added full type for "resolve" argument** Revision 1.7 2002/04/16 19:59:45 grichenk* Updated comments** Revision 1.6 2002/04/05 21:26:16 grichenk* Enabled iteration over annotations defined on segments of a* delta-sequence.** Revision 1.5 2002/03/05 16:08:12 grichenk* Moved TSE-restriction to new constructors** Revision 1.4 2002/03/04 15:07:46 grichenk* Added "bioseq" argument to CAnnotTypes_CI constructor to iterate* annotations from a single TSE.** Revision 1.3 2002/02/21 19:27:00 grichenk* Rearranged includes. Added scope history. Added searching for the* best seq-id match in data sources and scopes. Updated tests.** Revision 1.2 2002/01/16 16:26:35 gouriano* restructured objmgr** Revision 1.1 2002/01/11 19:04:02 gouriano* restructured objmgr*** ===========================================================================*/#endif // FEAT_CI__HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -