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

MatrixItemContents.h

00001 #ifndef _MATRIXITEMCONTENTS_H
00002 #define _MATRIXITEMCONTENTS_H
00003 
00004 #include "MatrixIdx.h"
00005 //#include "AnnotationItem.h"
00006 #include "AnnotationScore.h"
00007 
00008 class AnnotationItem;
00009 
00010 class MatrixItemContents : public MatrixIdx {
00011  public:
00012   MatrixItemContents() : _pred(NULL), _type(-1) { }
00013   MatrixItemContents(const MatrixIdx& mi, const AnnotationItem* pred, int type, const AnnotationScore& scr) : 
00014     MatrixIdx(mi), _pred(pred), _type(type), _score(scr)   
00015     {}
00016   MatrixItemContents(const MatrixItemContents& mi) : MatrixIdx(mi), _pred(mi._pred), _type(mi._type), _score(mi._score) 
00017     {}
00018 
00019   void init(const MatrixIdx& mi, const AnnotationItem* pred, int type, const AnnotationScore& scr);
00020   void init(const MatrixItemContents&);
00021 
00022   AnnotationScore getScore() const { return _score;}
00023   const AnnotationItem* getPred() const { return _pred; }
00024   int getType() const { return _type; }
00025 
00026   friend std::ostream&
00027   operator<<(std::ostream&,const MatrixItemContents&);
00028 
00029  private:
00030   const AnnotationItem* _pred;
00031   int _type;
00032   AnnotationScore _score;
00033 };
00034 
00035 
00036 #endif // _MATRIXITEMCONTENTS_H