00001
00002
00003
00005 #ifndef INPUTDATA_H
00006 #define INPUTDATA_H
00007
00008 #include <string>
00009 #include "Prediction.h"
00010 #include "DataDescrip.h"
00011 #include <vector>
00012 #include <list>
00013
00014 using std::vector;
00015 using std::list;
00016
00017 class CustomScore;
00018 class DataSetAbstractProduct;
00019
00028 class InputData {
00029 public:
00030 typedef vector<Prediction*>::const_iterator const_iterator;
00031
00051 InputData();
00052 ~InputData();
00053
00054 const_iterator begin() const { return _data.begin(); }
00055 const_iterator end() const { return _data.end(); }
00056 int getEnd5() const { assert(_data[0]); return _data[0]->getEnd5(); }
00057 const string& getTypeStr() const;
00058 friend std::ostream& operator<<(std::ostream&, const InputData&);
00059
00060 void setTrainExamples(DataSetAbstractProduct* dp) { _trainExamples = dp; }
00061 DataSetAbstractProduct* getTrainExamples() { return _trainExamples; }
00062
00063 void readEvidenceFile(const string&, const string&, vector<DataDescrip*>&);
00064
00065 private:
00066 vector<Prediction*> _data;
00067 list<DataSetAbstractProduct*> _stopLeak;
00068 DataSetAbstractProduct* _trainExamples;
00069 };
00070
00071 #endif // INPUTDATA_H