X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=readtree.h;h=0c368337a85954a94750fdba504103cccbe9057f;hb=37eac2026d91179acda0494c4dcca22f176551b9;hp=d363cd6884835558fba84e9ebaad678c4efe21b5;hpb=60fdefb3a300b59c3bbeffdca8a5f1f30c6a43af;p=mothur.git diff --git a/readtree.h b/readtree.h index d363cd6..0c36833 100644 --- a/readtree.h +++ b/readtree.h @@ -9,10 +9,7 @@ * */ -using namespace std; - -#include -#include +#include "mothur.h" #include "globaldata.hpp" #include "tree.h" @@ -26,21 +23,19 @@ class Tree; class ReadTree { public: ReadTree(); - ~ReadTree() {}; + virtual ~ReadTree() {}; - virtual void read() {}; + virtual int read() = 0; int readSpecialChar(istream&, char, string); int readNodeChar(istream& f); float readBranchLength(istream& f); - - - Tree* getTree() { return T; } - int numNodes, numLeaves; + protected: GlobalData* globaldata; + int numNodes, numLeaves; + MothurOut* m; + - protected: - Tree* T; }; /****************************************************************************/ @@ -48,16 +43,22 @@ class ReadTree { class ReadNewickTree : public ReadTree { public: - ReadNewickTree(string file) : treeFile(file) { openInputFile(file, filehandle); } + ReadNewickTree(string file) : treeFile(file) { m->openInputFile(file, filehandle); readOk = 0; } ~ReadNewickTree() {}; - void read(); + int read(); private: + Tree* T; int readNewickInt(istream&, int&, Tree*); + int readTreeString(); + void nexusTranslation(); ifstream filehandle; string treeFile; + string holder; + int readOk; // readOk = 0 means success, readOk = 1 means errors. + }; /****************************************************************************/ -#endif \ No newline at end of file +#endif