]> git.donarmstrong.com Git - mothur.git/blobdiff - fileoutput.h
working on pam
[mothur.git] / fileoutput.h
index 7e9d8d26144be2150d75358e67da2a72a6dafb32..170ee68a8151e9252788364c13a09de58b192815 100644 (file)
@@ -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<double>) = 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<string>) = 0;
+       virtual void output(int, vector<double>) = 0;
        virtual void output(vector<double>) = 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<double>);
        void resetFile();
        string getFileName()    { return inName;        };
        
-       void initFile(string, vector<string>) {};
+       void initFile(string, vector<string>){};
        void output(vector<double>) {};
 
 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<double>);
        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<double>);
        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<double>);
@@ -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<double>){};
@@ -145,8 +144,9 @@ private:
        ifstream inFile;
        ofstream outFile;
        int counter;
+       string iters;
 };
 
-/***********************************************************************/
+
 
 #endif