]> git.donarmstrong.com Git - mothur.git/blob - datavector.hpp
b3c7c90d018ee960e02b281b4f72b1e39601d51b
[mothur.git] / datavector.hpp
1 #ifndef datavector_h
2 #define datavector_h
3
4
5 #include "mothur.h"
6
7 /* This class is parent to listvector, ordervector, rabundvector, sabundvector, sharedordervector, sharedrabundvector, sharedsabundvector. 
8         The child classes all contain OTU information in different forms. */
9         
10
11 class RAbundVector;
12 class SAbundVector;
13 class OrderVector;
14 class SharedListVector;
15 class SharedOrderVector;
16 class SharedSAbundVector;
17 class SharedRAbundVector;
18
19 class DataVector {
20         
21 public:
22         DataVector(){};// : maxRank(0), numBins(0), numSeqs(0){};
23         DataVector(string l) : label(l) {};
24         DataVector(const DataVector& dv) : label(dv.label){};//, maxRank(dv.maxRank), numBins(dv.numBins), numSeqs(dv.numSeqs) {};
25         DataVector(ifstream&);
26         virtual ~DataVector(){};
27         
28 //      virtual int getNumBins()        {       return numBins;         }
29 //      virtual int getNumSeqs()        {       return numSeqs;         }
30 //      virtual int getMaxRank()        {       return maxRank;         }
31         
32         virtual void resize(int) = 0;
33         virtual int size()      = 0;
34         virtual void print(ostream&) = 0;
35         
36         void setLabel(string l)         {       label = l;                      }
37         string getLabel()                       {       return label;           }
38
39         virtual RAbundVector getRAbundVector() = 0;
40         virtual SAbundVector getSAbundVector() = 0;
41         virtual OrderVector getOrderVector(map<string,int>* hold = NULL) = 0;
42         
43 protected:
44         string label;
45 //      int maxRank;
46 //      int numBins;
47 //      int numSeqs;    
48 };
49
50 /***********************************************************************/
51
52 #endif