Klamp't  0.8.1
LineReader.h
1 #ifndef CONTACT_UTIL_LINE_READER_H
2 #define CONTACT_UTIL_LINE_READER_H
3 
4 #include <KrisLibrary/utils/SimpleParser.h>
5 #include <string>
6 using namespace std;
7 
20 class LineReader : public SimpleParser
21 {
22 public:
23  LineReader(istream& in) : SimpleParser(in),mode(0) {}
24  virtual ~LineReader() {}
25  bool Read();
26 
27  //overrides of SimpleParser
28  virtual Result InputToken(const string& word);
29  virtual Result InputPunct(const string& punct);
30  virtual Result InputEndLine() { return Continue; }
31 
33  virtual bool Begin(const string& name,stringstream& args)=0;
34  virtual bool Assign(const string& item,stringstream& rhs)=0;
35  virtual bool End() { return true; }
36 
37  //0=nothing read
38  //1=reading name of begin
39  //2=reading items
40  //3= read item name, waiting for assignment
41  int mode;
42  string curitem;
43 };
44 
45 #endif
Definition: LineReader.h:20