X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2FDEVEL%2Fmathml_editor%2Fsrc%2FTCharStreamString.hh;fp=helm%2FDEVEL%2Fmathml_editor%2Fsrc%2FTCharStreamString.hh;h=36306272b6d95b7c7f8044cb6f25a0832c9d2a65;hb=89262281b6e83bd2321150f81f1a0583645eb0c8;hp=0000000000000000000000000000000000000000;hpb=b1fb6b8e1767d775bc452303629e95941d142bea;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__