00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HxStringCharReader_h
00012 #define HxStringCharReader_h
00013
00014 #include "HxString.h"
00015 #include "HxCharReader.h"
00016
00017 class L_HXBASIS HxStringCharReader : public HxCharReader
00018 {
00019 public:
00020 HxStringCharReader(HxString);
00021 HxStringCharReader(const char*);
00022 virtual ~HxStringCharReader();
00023
00024 void setString(HxString);
00025
00026 virtual int read(char*, size_t);
00027 virtual HxBool eof();
00028
00029 private:
00030
00031 #pragma warning (disable : 4251)
00032 HxString _string;
00033 size_t _ptr;
00034 #pragma warning (default : 4251)
00035 };
00036
00037 inline
00038 HxStringCharReader::HxStringCharReader(HxString s) : _string(s), _ptr(0) {}
00039
00040 inline
00041 HxStringCharReader::HxStringCharReader(const char* s)
00042 : _string(HxString(s)), _ptr(0) {}
00043
00044 inline void
00045 HxStringCharReader::setString(HxString s) { _string = s; }
00046
00047 #endif