X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fmathml_editor%2Fsrc%2FTCharStreamString.hh;fp=helm%2FDEVEL%2Fmathml_editor%2Fsrc%2FTCharStreamString.hh;h=36306272b6d95b7c7f8044cb6f25a0832c9d2a65;hb=30060cffed61b88fe53e4d6386b606050d6dfda0;hp=0000000000000000000000000000000000000000;hpb=e6927665462cbbace76cff1b17d4f8badcb44eda;p=helm.git diff --git a/helm/DEVEL/mathml_editor/src/TCharStreamString.hh b/helm/DEVEL/mathml_editor/src/TCharStreamString.hh new file mode 100644 index 000000000..36306272b --- /dev/null +++ b/helm/DEVEL/mathml_editor/src/TCharStreamString.hh @@ -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__