SNAP Library 2.4, User Reference  2015-05-11 19:40:56
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TSsParser Class Reference

#include <ss.h>

Public Member Functions

 TSsParser (const TStr &FNm, const TSsFmt _SsFmt=ssfTabSep, const bool &_SkipLeadBlanks=false, const bool &_SkipCmt=true, const bool &_SkipEmptyFld=false)
 Constructor. More...
 
 TSsParser (const TStr &FNm, const char &Separator, const bool &_SkipLeadBlanks=false, const bool &_SkipCmt=true, const bool &_SkipEmptyFld=false)
 Constructor. More...
 
 ~TSsParser ()
 
bool Next ()
 Loads next line from the input file. More...
 
bool NextSlow ()
 Loads next line from the input file (older, slow implementation - deprecated). More...
 
int Len () const
 Returns the number of fields in the current line. More...
 
int GetFlds () const
 Returns the number of fields in the current line. More...
 
uint64 GetLineNo () const
 Returns the line number of the current line. More...
 
bool IsCmt () const
 Checks whether the current line is a comment (starts with '#'). More...
 
bool Eof () const
 Checks for end of file. More...
 
TChA GetLnStr () const
 Returns the current line. More...
 
void ToLc ()
 Transforms the current line to lower case. More...
 
const char * GetFld (const int &FldN) const
 Returns the contents of the field at index FldN. More...
 
char * GetFld (const int &FldN)
 Returns the contents of the field at index FldN. More...
 
const char * operator[] (const int &FldN) const
 Returns the contents of the field at index FldN. More...
 
char * operator[] (const int &FldN)
 Returns the contents of the field at index FldN. More...
 
bool GetInt (const int &FldN, int &Val) const
 If the field FldN is an integer its value is returned in Val and the function returns true. More...
 
int GetInt (const int &FldN) const
 Assumes FldN is an integer its value is returned. If FldN is not an integer an exception is thrown. More...
 
bool IsInt (const int &FldN) const
 Checks whether fields FldN is an integer. More...
 
bool GetFlt (const int &FldN, double &Val) const
 If the field FldN is a float its value is returned in Val and the function returns true. More...
 
bool IsFlt (const int &FldN) const
 Checks whether fields FldN is a float. More...
 
double GetFlt (const int &FldN) const
 Assumes FldN is a floating point number its value is returned. If FldN is not an integer an exception is thrown. More...
 
const char * DumpStr () const
 

Static Public Member Functions

static PSsParser New (const TStr &FNm, const TSsFmt SsFmt)
 

Private Member Functions

 UndefDefaultCopyAssign (TSsParser)
 

Private Attributes

TCRef CRef
 
TSsFmt SsFmt
 Separator type. More...
 
bool SkipLeadBlanks
 Ignore leading whitespace characters in a line. More...
 
bool SkipCmt
 Skip comments (lines starting with #). More...
 
bool SkipEmptyFld
 Skip empty fields (i.e., multiple consecutive separators are considered as one). More...
 
uint64 LineCnt
 Number of processed lines so far. More...
 
char SplitCh
 Separator character (if one of the non-started separators is used) More...
 
TChA LineStr
 Current line. More...
 
TVec< char * > FldV
 Pointers to fields of the current line. More...
 
PSIn FInPt
 Pointer to the input file stream. More...
 

Friends

class TPt< TSsParser >
 

Detailed Description

Definition at line 72 of file ss.h.

Constructor & Destructor Documentation

TSsParser::TSsParser ( const TStr FNm,
const TSsFmt  _SsFmt = ssfTabSep,
const bool &  _SkipLeadBlanks = false,
const bool &  _SkipCmt = true,
const bool &  _SkipEmptyFld = false 
)

Constructor.

Parameters
FNmInput filename. Can be a text file or a compressed file.
_SsFmtSpread-sheet separator format. Each line will be broken in a set of fields, where the boundary between the fields is defined by the _SsFmt.
_SkipLeadBlanksIf true leading/trailing white-spaces of the line will be ignored.
_SkipCmtIf true lines starting with '#' will be considered as comments and will be skipped.
_SkipEmptyFldIf true then empty fields (consecutive occurrences of the separator) will be ignored.

Definition at line 351 of file ss.cpp.

351  : SsFmt(_SsFmt),
352  SkipLeadBlanks(_SkipLeadBlanks), SkipCmt(_SkipCmt), SkipEmptyFld(_SkipEmptyFld), LineCnt(0), /*Bf(NULL),*/ SplitCh('\t'), LineStr(), FldV(), FInPt(NULL) {
353  if (TZipIn::IsZipExt(FNm.GetFExt())) { FInPt = TZipIn::New(FNm); }
354  else { FInPt = TFIn::New(FNm); }
355  //Bf = new char [BfLen];
356  switch(SsFmt) {
357  case ssfTabSep : SplitCh = '\t'; break;
358  case ssfCommaSep : SplitCh = ','; break;
359  case ssfSemicolonSep : SplitCh = ';'; break;
360  case ssfVBar : SplitCh = '|'; break;
361  case ssfSpaceSep : SplitCh = ' '; break;
362  case ssfWhiteSep: SplitCh = ' '; break;
363  default: FailR("Unknown separator character.");
364  }
365 }
TSsFmt SsFmt
Separator type.
Definition: ss.h:74
uint64 LineCnt
Number of processed lines so far.
Definition: ss.h:78
Semicolon separated.
Definition: ss.h:8
TStr GetFExt() const
Definition: dt.cpp:1421
Vertical bar separated.
Definition: ss.h:9
static PSIn New(const TStr &FNm)
Definition: zipfl.cpp:124
TVec< char * > FldV
Pointers to fields of the current line.
Definition: ss.h:81
static PSIn New(const TStr &FNm)
Definition: fl.cpp:290
TChA LineStr
Current line.
Definition: ss.h:80
Whitespace (space or tab) separated.
Definition: ss.h:11
Tab separated.
Definition: ss.h:6
#define FailR(Reason)
Definition: bd.h:240
Space separated.
Definition: ss.h:10
PSIn FInPt
Pointer to the input file stream.
Definition: ss.h:82
static bool IsZipExt(const TStr &FNmExt)
Check whether the file extension FNmExt is that of a compressed file (.gz, .7z, .rar, .zip, .cab, .arj. bzip2).
Definition: zipfl.cpp:201
bool SkipCmt
Skip comments (lines starting with #).
Definition: ss.h:76
bool SkipLeadBlanks
Ignore leading whitespace characters in a line.
Definition: ss.h:75
char SplitCh
Separator character (if one of the non-started separators is used)
Definition: ss.h:79
bool SkipEmptyFld
Skip empty fields (i.e., multiple consecutive separators are considered as one).
Definition: ss.h:77
Comma separated.
Definition: ss.h:7
TSsParser::TSsParser ( const TStr FNm,
const char &  Separator,
const bool &  _SkipLeadBlanks = false,
const bool &  _SkipCmt = true,
const bool &  _SkipEmptyFld = false 
)

Constructor.

Parameters
FNmInput filename. Can be a text file or a compressed file.
SeparatorSpread-sheet separator character. Each line will be broken in a set of fields, where the boundary between the fields is the Separator character.
_SkipLeadBlanksIf true leading/trailing white-spaces of the line will be ignored.
_SkipCmtIf true lines starting with '#' will be considered as comments and will be skipped.
_SkipEmptyFldIf true then empty fields (consecutive occurrences of the separator) will be ignored.

Definition at line 367 of file ss.cpp.

367  : SsFmt(ssfSpaceSep),
368  SkipLeadBlanks(_SkipLeadBlanks), SkipCmt(_SkipCmt), SkipEmptyFld(_SkipEmptyFld), LineCnt(0), /*Bf(NULL),*/ SplitCh('\t'), LineStr(), FldV(), FInPt(NULL) {
369  if (TZipIn::IsZipExt(FNm.GetFExt())) { FInPt = TZipIn::New(FNm); }
370  else { FInPt = TFIn::New(FNm); }
371  SplitCh = Separator;
372 }
TSsFmt SsFmt
Separator type.
Definition: ss.h:74
uint64 LineCnt
Number of processed lines so far.
Definition: ss.h:78
TStr GetFExt() const
Definition: dt.cpp:1421
static PSIn New(const TStr &FNm)
Definition: zipfl.cpp:124
TVec< char * > FldV
Pointers to fields of the current line.
Definition: ss.h:81
static PSIn New(const TStr &FNm)
Definition: fl.cpp:290
TChA LineStr
Current line.
Definition: ss.h:80
Space separated.
Definition: ss.h:10
PSIn FInPt
Pointer to the input file stream.
Definition: ss.h:82
static bool IsZipExt(const TStr &FNmExt)
Check whether the file extension FNmExt is that of a compressed file (.gz, .7z, .rar, .zip, .cab, .arj. bzip2).
Definition: zipfl.cpp:201
bool SkipCmt
Skip comments (lines starting with #).
Definition: ss.h:76
bool SkipLeadBlanks
Ignore leading whitespace characters in a line.
Definition: ss.h:75
char SplitCh
Separator character (if one of the non-started separators is used)
Definition: ss.h:79
bool SkipEmptyFld
Skip empty fields (i.e., multiple consecutive separators are considered as one).
Definition: ss.h:77
TSsParser::~TSsParser ( )

Definition at line 374 of file ss.cpp.

374  {
375  //if (Bf != NULL) { delete [] Bf; }
376 }

Member Function Documentation

const char * TSsParser::DumpStr ( ) const

Definition at line 484 of file ss.cpp.

484  {
485  static TChA ChA(10*1024);
486  ChA.Clr();
487  for (int i = 0; i < FldV.Len(); i++) {
488  ChA += TStr::Fmt(" %d: '%s'\n", i, FldV[i]);
489  }
490  return ChA.CStr();
491 }
TSizeTy Len() const
Returns the number of elements in the vector.
Definition: ds.h:535
TVec< char * > FldV
Pointers to fields of the current line.
Definition: ss.h:81
Definition: dt.h:201
static TStr Fmt(const char *FmtStr,...)
Definition: dt.cpp:1599
bool TSsParser::Eof ( ) const
inline

Checks for end of file.

Definition at line 122 of file ss.h.

122 { return FInPt->Eof(); }
virtual bool Eof()=0
PSIn FInPt
Pointer to the input file stream.
Definition: ss.h:82
const char* TSsParser::GetFld ( const int &  FldN) const
inline

Returns the contents of the field at index FldN.

Definition at line 129 of file ss.h.

129 { return FldV[FldN]; }
TVec< char * > FldV
Pointers to fields of the current line.
Definition: ss.h:81
char* TSsParser::GetFld ( const int &  FldN)
inline

Returns the contents of the field at index FldN.

Definition at line 131 of file ss.h.

131 { return FldV[FldN]; }
TVec< char * > FldV
Pointers to fields of the current line.
Definition: ss.h:81
int TSsParser::GetFlds ( ) const
inline

Returns the number of fields in the current line.

Definition at line 116 of file ss.h.

116 { return Len(); }
int Len() const
Returns the number of fields in the current line.
Definition: ss.h:114
bool TSsParser::GetFlt ( const int &  FldN,
double &  Val 
) const

If the field FldN is a float its value is returned in Val and the function returns true.

Definition at line 462 of file ss.cpp.

462  {
463  // parsing format {ws} [+/-] +{d} ([.]{d}) ([E|e] [+/-] +{d})
464  const char *c = GetFld(FldN);
465  while (TCh::IsWs(*c)) { c++; }
466  if (*c=='+' || *c=='-') { c++; }
467  if (! TCh::IsNum(*c) && *c!='.') { return false; }
468  while (TCh::IsNum(*c)) { c++; }
469  if (*c == '.') {
470  c++;
471  while (TCh::IsNum(*c)) { c++; }
472  }
473  if (*c=='e' || *c == 'E') {
474  c++;
475  if (*c == '+' || *c == '-' ) { c++; }
476  if (! TCh::IsNum(*c)) { return false; }
477  while (TCh::IsNum(*c)) { c++; }
478  }
479  if (*c != 0) { return false; }
480  Val = atof(GetFld(FldN));
481  return true;
482 }
static bool IsNum(const char &Ch)
Definition: dt.h:972
const char * GetFld(const int &FldN) const
Returns the contents of the field at index FldN.
Definition: ss.h:129
static bool IsWs(const char &Ch)
Definition: dt.h:968
double TSsParser::GetFlt ( const int &  FldN) const
inline

Assumes FldN is a floating point number its value is returned. If FldN is not an integer an exception is thrown.

Definition at line 148 of file ss.h.

148  {
149  double Val=0.0; IAssert(GetFlt(FldN, Val)); return Val; }
#define IAssert(Cond)
Definition: bd.h:262
bool GetFlt(const int &FldN, double &Val) const
If the field FldN is a float its value is returned in Val and the function returns true...
Definition: ss.cpp:462
bool TSsParser::GetInt ( const int &  FldN,
int &  Val 
) const

If the field FldN is an integer its value is returned in Val and the function returns true.

Definition at line 443 of file ss.cpp.

443  {
444  // parsing format {ws} [+/-] +{ddd}
445  int _Val = -1;
446  bool Minus=false;
447  const char *c = GetFld(FldN);
448  while (TCh::IsWs(*c)) { c++; }
449  if (*c=='-') { Minus=true; c++; }
450  if (! TCh::IsNum(*c)) { return false; }
451  _Val = TCh::GetNum(*c); c++;
452  while (TCh::IsNum(*c)){
453  _Val = 10 * _Val + TCh::GetNum(*c);
454  c++;
455  }
456  if (Minus) { _Val = -_Val; }
457  if (*c != 0) { return false; }
458  Val = _Val;
459  return true;
460 }
static bool IsNum(const char &Ch)
Definition: dt.h:972
const char * GetFld(const int &FldN) const
Returns the contents of the field at index FldN.
Definition: ss.h:129
static bool IsWs(const char &Ch)
Definition: dt.h:968
static int GetNum(const char &Ch)
Definition: dt.h:974
int TSsParser::GetInt ( const int &  FldN) const
inline

Assumes FldN is an integer its value is returned. If FldN is not an integer an exception is thrown.

Definition at line 139 of file ss.h.

139  {
140  int Val=0; IAssertR(GetInt(FldN, Val), TStr::Fmt("Field %d not INT.\n%s", FldN, DumpStr()).CStr()); return Val; }
#define IAssertR(Cond, Reason)
Definition: bd.h:265
bool GetInt(const int &FldN, int &Val) const
If the field FldN is an integer its value is returned in Val and the function returns true...
Definition: ss.cpp:443
const char * DumpStr() const
Definition: ss.cpp:484
static TStr Fmt(const char *FmtStr,...)
Definition: dt.cpp:1599
uint64 TSsParser::GetLineNo ( ) const
inline

Returns the line number of the current line.

Definition at line 118 of file ss.h.

118 { return LineCnt; }
uint64 LineCnt
Number of processed lines so far.
Definition: ss.h:78
TChA TSsParser::GetLnStr ( ) const
inline

Returns the current line.

Definition at line 124 of file ss.h.

124 { TChA LnOut; for (int i = 0; i < Len(); i++) { LnOut+=GetFld(i); LnOut+=' '; } return LnOut; }
const char * GetFld(const int &FldN) const
Returns the contents of the field at index FldN.
Definition: ss.h:129
int Len() const
Returns the number of fields in the current line.
Definition: ss.h:114
Definition: dt.h:201
bool TSsParser::IsCmt ( ) const
inline

Checks whether the current line is a comment (starts with '#').

Definition at line 120 of file ss.h.

120 { return Len()>0 && GetFld(0)[0] == '#'; }
const char * GetFld(const int &FldN) const
Returns the contents of the field at index FldN.
Definition: ss.h:129
int Len() const
Returns the number of fields in the current line.
Definition: ss.h:114
bool TSsParser::IsFlt ( const int &  FldN) const
inline

Checks whether fields FldN is a float.

Definition at line 146 of file ss.h.

146 { double v; return GetFlt(FldN, v); }
bool GetFlt(const int &FldN, double &Val) const
If the field FldN is a float its value is returned in Val and the function returns true...
Definition: ss.cpp:462
bool TSsParser::IsInt ( const int &  FldN) const
inline

Checks whether fields FldN is an integer.

Definition at line 142 of file ss.h.

142 { int v; return GetInt(FldN, v); }
bool GetInt(const int &FldN, int &Val) const
If the field FldN is an integer its value is returned in Val and the function returns true...
Definition: ss.cpp:443
int TSsParser::Len ( ) const
inline

Returns the number of fields in the current line.

Definition at line 114 of file ss.h.

114 { return FldV.Len(); }
TSizeTy Len() const
Returns the number of elements in the vector.
Definition: ds.h:535
TVec< char * > FldV
Pointers to fields of the current line.
Definition: ss.h:81
static PSsParser TSsParser::New ( const TStr FNm,
const TSsFmt  SsFmt 
)
inlinestatic

Definition at line 102 of file ss.h.

102 { return new TSsParser(FNm, SsFmt); }
TSsFmt SsFmt
Separator type.
Definition: ss.h:74
TSsParser(const TStr &FNm, const TSsFmt _SsFmt=ssfTabSep, const bool &_SkipLeadBlanks=false, const bool &_SkipCmt=true, const bool &_SkipEmptyFld=false)
Constructor.
Definition: ss.cpp:351
bool TSsParser::Next ( )

Loads next line from the input file.

If end of file is reached, return value is false.

Definition at line 410 of file ss.cpp.

410  { // split on SplitCh
411  FldV.Clr(false);
412  LineStr.Clr();
413  FldV.Clr();
414  LineCnt++;
415  if (! FInPt->GetNextLnBf(LineStr)) { return false; }
416  if (SkipCmt && !LineStr.Empty() && LineStr[0]=='#') { return Next(); }
417 
418  char* cur = LineStr.CStr();
419  if (SkipLeadBlanks) { // skip leading blanks
420  while (*cur && TCh::IsWs(*cur)) { cur++; }
421  }
422  char *last = cur;
423  while (*cur) {
424  if (SsFmt == ssfWhiteSep) { while (*cur && ! TCh::IsWs(*cur)) { cur++; } }
425  else { while (*cur && *cur!=SplitCh) { cur++; } }
426  if (*cur == 0) { break; }
427  *cur = 0; cur++;
428  FldV.Add(last); last = cur;
429  if (SkipEmptyFld && strlen(FldV.Last())==0) { FldV.DelLast(); } // skip empty fields
430  }
431  FldV.Add(last); // add last field
432  if (SkipEmptyFld && FldV.Empty()) { return Next(); } // skip empty lines
433  return true;
434 }
TSsFmt SsFmt
Separator type.
Definition: ss.h:74
bool Empty() const
Definition: dt.h:260
void Clr()
Definition: dt.h:258
uint64 LineCnt
Number of processed lines so far.
Definition: ss.h:78
bool Empty() const
Tests whether the vector is empty.
Definition: ds.h:530
TVec< char * > FldV
Pointers to fields of the current line.
Definition: ss.h:81
static bool IsWs(const char &Ch)
Definition: dt.h:968
TChA LineStr
Current line.
Definition: ss.h:80
void Clr(const bool &DoDel=true, const TSizeTy &NoDelLim=-1)
Clears the contents of the vector.
Definition: ds.h:953
char * CStr()
Definition: dt.h:255
Whitespace (space or tab) separated.
Definition: ss.h:11
const TVal & Last() const
Returns a reference to the last element of the vector.
Definition: ds.h:539
PSIn FInPt
Pointer to the input file stream.
Definition: ss.h:82
bool SkipCmt
Skip comments (lines starting with #).
Definition: ss.h:76
bool SkipLeadBlanks
Ignore leading whitespace characters in a line.
Definition: ss.h:75
bool Next()
Loads next line from the input file.
Definition: ss.cpp:410
char SplitCh
Separator character (if one of the non-started separators is used)
Definition: ss.h:79
virtual bool GetNextLnBf(TChA &LnChA)=0
TSizeTy Add()
Adds a new element at the end of the vector, after its current last element.
Definition: ds.h:559
void DelLast()
Removes the last element of the vector.
Definition: ds.h:609
bool SkipEmptyFld
Skip empty fields (i.e., multiple consecutive separators are considered as one).
Definition: ss.h:77
bool TSsParser::NextSlow ( )

Loads next line from the input file (older, slow implementation - deprecated).

If end of file is reached, return value is false. This function is deprecated, use Next instead.

Definition at line 382 of file ss.cpp.

382  { // split on SplitCh
383  FldV.Clr(false);
384  LineStr.Clr();
385  FldV.Clr();
386  LineCnt++;
387  if (! FInPt->GetNextLn(LineStr)) { return false; }
388  if (SkipCmt && !LineStr.Empty() && LineStr[0]=='#') { return NextSlow(); }
389 
390  char* cur = LineStr.CStr();
391  if (SkipLeadBlanks) { // skip leading blanks
392  while (*cur && TCh::IsWs(*cur)) { cur++; }
393  }
394  char *last = cur;
395  while (*cur) {
396  if (SsFmt == ssfWhiteSep) { while (*cur && ! TCh::IsWs(*cur)) { cur++; } }
397  else { while (*cur && *cur!=SplitCh) { cur++; } }
398  if (*cur == 0) { break; }
399  *cur = 0; cur++;
400  FldV.Add(last); last = cur;
401  if (SkipEmptyFld && strlen(FldV.Last())==0) { FldV.DelLast(); } // skip empty fields
402  }
403  FldV.Add(last); // add last field
404  if (SkipEmptyFld && FldV.Empty()) { return NextSlow(); } // skip empty lines
405  return true;
406 }
TSsFmt SsFmt
Separator type.
Definition: ss.h:74
bool Empty() const
Definition: dt.h:260
void Clr()
Definition: dt.h:258
bool NextSlow()
Loads next line from the input file (older, slow implementation - deprecated).
Definition: ss.cpp:382
uint64 LineCnt
Number of processed lines so far.
Definition: ss.h:78
bool Empty() const
Tests whether the vector is empty.
Definition: ds.h:530
TVec< char * > FldV
Pointers to fields of the current line.
Definition: ss.h:81
static bool IsWs(const char &Ch)
Definition: dt.h:968
TChA LineStr
Current line.
Definition: ss.h:80
void Clr(const bool &DoDel=true, const TSizeTy &NoDelLim=-1)
Clears the contents of the vector.
Definition: ds.h:953
char * CStr()
Definition: dt.h:255
Whitespace (space or tab) separated.
Definition: ss.h:11
const TVal & Last() const
Returns a reference to the last element of the vector.
Definition: ds.h:539
PSIn FInPt
Pointer to the input file stream.
Definition: ss.h:82
bool SkipCmt
Skip comments (lines starting with #).
Definition: ss.h:76
bool SkipLeadBlanks
Ignore leading whitespace characters in a line.
Definition: ss.h:75
char SplitCh
Separator character (if one of the non-started separators is used)
Definition: ss.h:79
TSizeTy Add()
Adds a new element at the end of the vector, after its current last element.
Definition: ds.h:559
void DelLast()
Removes the last element of the vector.
Definition: ds.h:609
bool SkipEmptyFld
Skip empty fields (i.e., multiple consecutive separators are considered as one).
Definition: ss.h:77
bool GetNextLn(TStr &LnStr)
Definition: fl.cpp:43
const char* TSsParser::operator[] ( const int &  FldN) const
inline

Returns the contents of the field at index FldN.

Definition at line 133 of file ss.h.

133 { return FldV[FldN]; }
TVec< char * > FldV
Pointers to fields of the current line.
Definition: ss.h:81
char* TSsParser::operator[] ( const int &  FldN)
inline

Returns the contents of the field at index FldN.

Definition at line 135 of file ss.h.

135 { return FldV[FldN]; }
TVec< char * > FldV
Pointers to fields of the current line.
Definition: ss.h:81
void TSsParser::ToLc ( )

Transforms the current line to lower case.

Definition at line 436 of file ss.cpp.

436  {
437  for (int f = 0; f < FldV.Len(); f++) {
438  for (char *c = FldV[f]; *c; c++) {
439  *c = tolower(*c); }
440  }
441 }
TSizeTy Len() const
Returns the number of elements in the vector.
Definition: ds.h:535
TVec< char * > FldV
Pointers to fields of the current line.
Definition: ss.h:81
TSsParser::UndefDefaultCopyAssign ( TSsParser  )
private

Friends And Related Function Documentation

friend class TPt< TSsParser >
friend

Definition at line 72 of file ss.h.

Member Data Documentation

TCRef TSsParser::CRef
private

Definition at line 72 of file ss.h.

PSIn TSsParser::FInPt
private

Pointer to the input file stream.

Definition at line 82 of file ss.h.

TVec<char*> TSsParser::FldV
private

Pointers to fields of the current line.

Definition at line 81 of file ss.h.

uint64 TSsParser::LineCnt
private

Number of processed lines so far.

Definition at line 78 of file ss.h.

TChA TSsParser::LineStr
private

Current line.

Definition at line 80 of file ss.h.

bool TSsParser::SkipCmt
private

Skip comments (lines starting with #).

Definition at line 76 of file ss.h.

bool TSsParser::SkipEmptyFld
private

Skip empty fields (i.e., multiple consecutive separators are considered as one).

Definition at line 77 of file ss.h.

bool TSsParser::SkipLeadBlanks
private

Ignore leading whitespace characters in a line.

Definition at line 75 of file ss.h.

char TSsParser::SplitCh
private

Separator character (if one of the non-started separators is used)

Definition at line 79 of file ss.h.

TSsFmt TSsParser::SsFmt
private

Separator type.

Definition at line 74 of file ss.h.


The documentation for this class was generated from the following files: