]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/mathml_editor/src/TCharStreamString.hh
Initial revision
[helm.git] / helm / DEVEL / mathml_editor / src / TCharStreamString.hh
1
2 #ifndef __TCharStreamString_hh__
3 #define __TCharStreamString_hh__
4
5 #include "TCharStream.hh"
6
7 class TCharStreamString : public TCharStream
8 {
9 public:
10   TCharStreamString(const TString& s) : buffer(s), idx(0) { };
11   virtual ~TCharStreamString() { };
12
13   virtual bool  more(void) const { return idx < buffer.length(); };
14   virtual TChar look(void) const { if (more()) return buffer[idx]; else throw EmptyStream(); };
15   virtual TChar next(void) { if (more()) return buffer[idx++]; else throw EmptyStream(); };
16
17 private:
18   unsigned long idx; 
19   TString buffer;
20 };
21
22 #endif // __TCharStreamString_hh__