1 /*
2  * BedPlusInterval.h
3  *
4  *  Created on: Nov 13, 2012
5  *      Author: nek3d
6  */
7 
8 #ifndef PLUSFIELDS_H_
9 #define PLUSFIELDS_H_
10 
11 #include "string.h"
12 #include <string>
13 #include <vector>
14 
15 using namespace std;
16 
17 class SingleLineDelimTextFileReader;
18 
19 class PlusFields {
20 public:
21 
22 	PlusFields();
~PlusFields()23 	virtual ~PlusFields() {}
setNumOffsetFields(int numOffsetFields)24 	void setNumOffsetFields(int numOffsetFields) { _numOffsetFields = numOffsetFields; }
25 	virtual bool initFromFile(SingleLineDelimTextFileReader *);
26 	virtual void clear();
27 	virtual void printFields(string &outBuf) const;
28 
29 	virtual const string &getField(int fieldNum) const;
size()30 	virtual size_t size() const { return _fields.size(); }
31 
32 
33 protected:
34 	vector<string> _fields;
35 	int _numOffsetFields; //could be 3 for BedPlus, but GFF has 8 or 9
36 };
37 
38 
39 
40 #endif /* PLUSFIELDS_H_ */
41