Klamp't  0.9.0
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 
7 namespace Klampt {
8  using namespace std;
9 
22 class LineReader : public SimpleParser
23 {
24 public:
25  LineReader(istream& in) : SimpleParser(in),mode(0) {}
26  virtual ~LineReader() {}
27  bool Read();
28 
29  //overrides of SimpleParser
30  virtual Result InputToken(const string& word);
31  virtual Result InputPunct(const string& punct);
32  virtual Result InputEndLine() { return Continue; }
33 
35  virtual bool Begin(const string& name,stringstream& args)=0;
36  virtual bool Assign(const string& item,stringstream& rhs)=0;
37  virtual bool End() { return true; }
38 
39  //0=nothing read
40  //1=reading name of begin
41  //2=reading items
42  //3= read item name, waiting for assignment
43  int mode;
44  string curitem;
45 };
46 
47 } //namespace Klampt
48 
49 #endif
Definition: LineReader.h:22
Definition: ContactDistance.h:6