--- /dev/null
+
+#ifndef __TCharStreamString_hh__
+#define __TCharStreamString_hh__
+
+#include "TCharStream.hh"
+
+class TCharStreamString : public TCharStream
+{
+public:
+ TCharStreamString(const TString& s) : buffer(s), idx(0) { };
+ virtual ~TCharStreamString() { };
+
+ virtual bool more(void) const { return idx < buffer.length(); };
+ virtual TChar look(void) const { if (more()) return buffer[idx]; else throw EmptyStream(); };
+ virtual TChar next(void) { if (more()) return buffer[idx++]; else throw EmptyStream(); };
+
+private:
+ unsigned long idx;
+ TString buffer;
+};
+
+#endif // __TCharStreamString_hh__