1 #include "PlusFields.h" 2 #include "SingleLineDelimTextFileReader.h" 3 PlusFields()4PlusFields::PlusFields() 5 { 6 } 7 initFromFile(SingleLineDelimTextFileReader * fileReader)8bool PlusFields::initFromFile(SingleLineDelimTextFileReader *fileReader) 9 { 10 size_t numFields = fileReader->getNumFields() - _numOffsetFields; 11 12 if (size() != numFields) { 13 _fields.resize(numFields); 14 } 15 16 for (size_t i=0; i < numFields; i++) { 17 fileReader->getField((int)(i + _numOffsetFields), _fields[i]); 18 } 19 return true; 20 } 21 clear()22void PlusFields::clear() { 23 //don't destroy the strings if we don't have to. Just clear their memory. 24 for (int i=0; i < (int)_fields.size(); i++) { 25 _fields[i].clear(); 26 } 27 } 28 getField(int fieldNum) const29const string &PlusFields::getField(int fieldNum) const 30 { 31 return _fields[fieldNum - _numOffsetFields - 1]; 32 } 33 printFields(string & outBuf) const34void PlusFields::printFields(string &outBuf) const { 35 for (size_t i=0; i < size(); i++) { 36 outBuf.append(_fields[i]); 37 if (i < size() - 1) outBuf.append("\t"); 38 } 39 } 40