X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=fileoutput.h;h=170ee68a8151e9252788364c13a09de58b192815;hp=7e9d8d26144be2150d75358e67da2a72a6dafb32;hb=cf9987b67aa49777a4c91c2d21f96e58bf17aa82;hpb=c5c7502f435e1413c19e373dab1dfebcaa67588d diff --git a/fileoutput.h b/fileoutput.h index 7e9d8d2..170ee68 100644 --- a/fileoutput.h +++ b/fileoutput.h @@ -2,27 +2,26 @@ #define FILEOUTPUT_H #include "mothur.h" -#include "globaldata.hpp" - -using namespace std; +#include "mothurout.h" /***********************************************************************/ class FileOutput { public: - FileOutput(){}; - ~FileOutput(){}; - virtual void output(int, vector) = 0; + FileOutput(){ m = MothurOut::getInstance(); } + virtual ~FileOutput(){}; + virtual void initFile(string) = 0; - virtual void resetFile() = 0; - virtual string getFileName() = 0; virtual void initFile(string, vector) = 0; + virtual void output(int, vector) = 0; virtual void output(vector) = 0; + virtual void resetFile() = 0; + virtual string getFileName() = 0; protected: - GlobalData* globaldata; int renameOk; + MothurOut* m; }; @@ -31,14 +30,14 @@ protected: class ThreeColumnFile : public FileOutput { public: - ThreeColumnFile(string n) : FileOutput(), inName(n), counter(0), outName(getPathName(n) + ".temp." + getSimpleName(n)) { }; + ThreeColumnFile(string n) : FileOutput(), inName(n), counter(0), outName(n + ".temp") { }; ~ThreeColumnFile(); void initFile(string); void output(int, vector); void resetFile(); string getFileName() { return inName; }; - void initFile(string, vector) {}; + void initFile(string, vector){}; void output(vector) {}; private: @@ -55,7 +54,7 @@ class OneColumnFile : public FileOutput { public: - OneColumnFile(string n) : inName(n), counter(0), outName(getPathName(n) + ".temp." + getSimpleName(n)) {}; + OneColumnFile(string n) : inName(n), counter(0), outName(n + ".temp") {}; ~OneColumnFile(); void output(int, vector); void initFile(string); @@ -79,7 +78,7 @@ class SharedOneColumnFile : public FileOutput { public: - SharedOneColumnFile(string n) : inName(n), counter(0), outName(getPathName(n) + ".temp." + getSimpleName(n)) {}; + SharedOneColumnFile(string n) : inName(n), counter(0), outName(n + ".temp") {}; ~SharedOneColumnFile(); void output(int, vector); void initFile(string); @@ -104,7 +103,7 @@ private: class SharedThreeColumnFile : public FileOutput { public: - SharedThreeColumnFile(string n, string groups) : FileOutput(), groupLabel(groups), inName(n), counter(0), numGroup(1), outName(getPathName(n) + ".temp." + getSimpleName(n)) { }; + SharedThreeColumnFile(string n, string groups) : FileOutput(), groupLabel(groups), inName(n), counter(0), numGroup(1), outName(n + ".temp") { }; ~SharedThreeColumnFile(); void initFile(string); void output(int, vector); @@ -124,12 +123,12 @@ private: }; /***********************************************************************/ - -class ThreeColumnFile2 : public FileOutput { +//used by parsimony, unifrac.weighted and unifrac.unweighted +class ColumnFile : public FileOutput { public: - ThreeColumnFile2(string n) : FileOutput(), inName(n), counter(0), outName(getPathName(n) + ".temp." + getSimpleName(n)) { globaldata = GlobalData::getInstance(); }; - ~ThreeColumnFile2(); + ColumnFile(string n, string i) : FileOutput(), iters(i), inName(n), counter(0), outName(n + ".temp") {}; + ~ColumnFile(); //to make compatible with parent class void output(int, vector){}; @@ -145,8 +144,9 @@ private: ifstream inFile; ofstream outFile; int counter; + string iters; }; -/***********************************************************************/ + #endif