]> git.donarmstrong.com Git - mothur.git/blob - listvector.hpp
Initial revision
[mothur.git] / listvector.hpp
1 #ifndef LIST_H
2 #define LIST_H
3
4 #include "datavector.hpp"
5 #include "groupmap.h"
6 #include "globaldata.hpp"
7 #include "sharedordervector.h"
8 #include <iostream>
9 #include <map>
10
11
12 class ListVector : public DataVector {
13         
14 public:
15         ListVector();
16         ListVector(int);
17 //      ListVector(const ListVector&);
18         ListVector(string, vector<string>);
19         ListVector(const ListVector& lv) : DataVector(lv.label), data(lv.data), maxRank(lv.maxRank), numBins(lv.numBins), numSeqs(lv.numSeqs){};
20         ListVector(ifstream&);
21         ~ListVector(){};
22         
23         int getNumBins()                                                        {       return numBins;         }
24         int getNumSeqs()                                                        {       return numSeqs;         }
25         int getMaxRank()                                                        {       return maxRank;         }
26
27         void set(int, string);  
28         string get(int);
29         void push_back(string);
30         void resize(int);
31         void clear();
32         int size();
33         void print(ostream&);
34         
35         RAbundVector getRAbundVector();
36         SAbundVector getSAbundVector();
37         OrderVector getOrderVector(map<string,int>*);
38         SharedOrderVector* getSharedOrderVector();
39         
40 private:
41         vector<string> data;
42         GlobalData* globaldata;
43         GroupMap* groupmap;
44         int maxRank;
45         int numBins;
46         int numSeqs;
47
48 };
49
50 #endif