]> git.donarmstrong.com Git - mothur.git/blob - datavector.hpp
Initial revision
[mothur.git] / datavector.hpp
1 #ifndef datavector_h
2 #define datavector_h
3
4 using namespace std;
5
6 #include <iostream>
7 #include <string>
8 #include <vector>
9 #include <map>
10
11 class RAbundVector;
12 class SAbundVector;
13 class OrderVector;
14
15 class DataVector {
16         
17 public:
18         DataVector(){};// : maxRank(0), numBins(0), numSeqs(0){};
19         DataVector(string l) : label(l) {};
20         DataVector(const DataVector& dv) : label(dv.label){};//, maxRank(dv.maxRank), numBins(dv.numBins), numSeqs(dv.numSeqs) {};
21         DataVector(ifstream&);
22         ~DataVector(){};
23         
24 //      virtual int getNumBins()        {       return numBins;         }
25 //      virtual int getNumSeqs()        {       return numSeqs;         }
26 //      virtual int getMaxRank()        {       return maxRank;         }
27         
28         virtual void resize(int) = 0;
29         virtual int size()      = 0;
30         virtual void print(ostream&) = 0;
31         
32         void setLabel(string l)         {       label = l;                      }
33         string getLabel()                       {       return label;           }
34
35         //virtual RAbundVector getRAbundVector() = 0;
36         virtual SAbundVector getSAbundVector() = 0;
37         virtual OrderVector getOrderVector(map<string,int>* hold = NULL) = 0;
38         
39 protected:
40         string label;
41 //      int maxRank;
42 //      int numBins;
43 //      int numSeqs;    
44 };
45
46 /***********************************************************************/
47
48 #endif