Main Page | Class Hierarchy | Class List | File List | Class Members

AnnotationMatrix.h

00001 
00002 // Copyright (c) 2003, The Institute for Genomic Research (TIGR), Rockville,
00003 // Maryland, U.S.A.  All rights reserved.
00005 #ifndef ANNOTATIONMATRIX_H
00006 #define ANNOTATIONMATRIX_H
00007 
00008 #include <string>
00009 #include <list>
00010 #include "AnnotationScore.h"
00011 //#include "OutputModel.h"
00012 
00013 class SeqLoc;
00014 class AnnotationItem;
00015 class DnaStr;
00016 class UnitScore;
00017 class Compare;
00018 class CustomScore;
00019 
00020 using std::list;
00021 
00027 class AnnotationMatrix {
00028  public:
00029   typedef list<AnnotationItem*>::iterator iterator;
00030   typedef list<AnnotationItem*>::const_iterator const_iterator;
00031 
00032   AnnotationMatrix();
00033   ~AnnotationMatrix();
00034 
00035   void del();
00039   //trace_back_idx initTraceBack(const CustomScore&, const string&,int,bool,bool = false) const; 
00046   void insert(AnnotationItem*);
00047 
00048   iterator begin();
00049   iterator end();
00050   
00051   unsigned size() const { return _data.size(); }
00052 
00053   const_iterator begin() const;
00054   const_iterator end() const;
00055 
00056   bool empty() const { return _data.empty(); }
00057 
00058  protected:
00059   list<AnnotationItem*> _data;
00060 
00061  private:
00062   const Compare* _cmp; 
00067   /*# AnnotationItem lnkAnnotationItem; */
00068 };
00069 
00070 #endif // ANNOTATIONMATRIX_H