]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/mathml_editor/src/TCharStreamString.hh
Initial revision
[helm.git] / helm / DEVEL / mathml_editor / src / TCharStreamString.hh
diff --git a/helm/DEVEL/mathml_editor/src/TCharStreamString.hh b/helm/DEVEL/mathml_editor/src/TCharStreamString.hh
new file mode 100644 (file)
index 0000000..3630627
--- /dev/null
@@ -0,0 +1,22 @@
+
+#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__