X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=fileoutput.h;h=0c7999d2c901cc3c3c28357837e467dabb4a990a;hb=301b61cb98aaa4641f8701f43cf830c0fa44fac1;hp=6eb5e8d708eca6f102c7a562507ac92e1553e336;hpb=20a2d0350a737a434c89f303662d64a8eeea7b05;p=mothur.git diff --git a/fileoutput.h b/fileoutput.h index 6eb5e8d..0c7999d 100644 --- a/fileoutput.h +++ b/fileoutput.h @@ -1,14 +1,7 @@ #ifndef FILEOUTPUT_H #define FILEOUTPUT_H -#include -#include -#include -#include -#include "utilities.hpp" -#include "globaldata.hpp" - -using namespace std; +#include "mothur.h" /***********************************************************************/ @@ -16,12 +9,18 @@ class FileOutput { public: FileOutput(){}; - ~FileOutput(){}; - virtual void output(int, vector) = 0; + virtual ~FileOutput(){}; + virtual void initFile(string) = 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: + int renameOk; + }; /***********************************************************************/ @@ -29,12 +28,16 @@ public: 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(getPathName(n) + ".temp") { }; ~ThreeColumnFile(); void initFile(string); void output(int, vector); void resetFile(); string getFileName() { return inName; }; + + void initFile(string, vector){}; + void output(vector) {}; + private: string inName; string outName; @@ -49,12 +52,16 @@ 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(getPathName(n) + ".temp") {}; ~OneColumnFile(); void output(int, vector); void initFile(string); void resetFile(); string getFileName() { return inName; }; + + void initFile(string, vector) {}; + void output(vector) {}; + private: string outName; @@ -69,12 +76,16 @@ class SharedOneColumnFile : public FileOutput { public: - SharedOneColumnFile(string n, vector g) : inName(n), counter(0), outName(getPathName(n) + ".temp." + getSimpleName(n)) {}; + SharedOneColumnFile(string n) : inName(n), counter(0), outName(getPathName(n) + ".temp") {}; ~SharedOneColumnFile(); void output(int, vector); void initFile(string); void resetFile(); string getFileName() { return inName; }; + + void initFile(string, vector) {}; + void output(vector) {}; + private: string outName; @@ -90,12 +101,17 @@ 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(getPathName(n) + ".temp") { }; ~SharedThreeColumnFile(); void initFile(string); void output(int, vector); void resetFile(); string getFileName() { return inName; }; + + + void initFile(string, vector) {}; + void output(vector) {}; + private: string inName, groupLabel; string outName; @@ -104,7 +120,31 @@ private: int counter, numGroup; }; +/***********************************************************************/ +//used by parsimony, unifrac.weighted and unifrac.unweighted +class ColumnFile : public FileOutput { + +public: + ColumnFile(string n, string i) : FileOutput(), iters(i), inName(n), counter(0), outName(getPathName(n) + ".temp") {}; + ~ColumnFile(); + + //to make compatible with parent class + void output(int, vector){}; + void initFile(string){}; + + void initFile(string, vector); + void output(vector); + void resetFile(); + string getFileName() { return inName; }; +private: + string inName; + string outName; + ifstream inFile; + ofstream outFile; + int counter; + string iters; +}; + #endif -