#include "mothurout.h"
+#include "listvector.hpp"
class CountTable {
~CountTable() {}
int readTable(string);
+ bool testGroups(string file); //used to check if file has group data without reading it.
bool hasGroupInfo() { return hasGroups; }
int getNumGroups() { return groups.size(); }
vector<string> getNamesOfGroups() { return groups; } //returns group names, if no group info vector is blank.
+
+ int push_back(string); //add a sequence
+ int push_back(string, int); //add a sequence
+ int push_back(string, vector<int>); //add a sequence with group info
+ int get(string); //returns unique sequence index for reading distance matrices like NameAssignment
+ int size() { return indexNameMap.size(); }
vector<int> getGroupCounts(string); //returns group counts for a seq passed in, if no group info is in file vector is blank. Order is the same as the groups returned by getGroups function.
int getGroupCount(string, string); //returns number of seqs for that group for that seq
int getNumSeqs() { return total; } //return total number of seqs
int getNumUniqueSeqs() { return uniques; } //return number of unique/representative seqs
int getGroupIndex(string); //returns index in getGroupCounts vector of specific group
+
vector<string> getNamesOfSeqs();
+ int mergeCounts(string, string); //combines counts for 2 seqs, saving under the first name passed in.
+ ListVector getListVector();
private:
string filename;