public:
// ctor associates the stream with the given string which makes a copy of
// it
- wxStringInputStream(const wxString& s)
- : m_str(s)
- {
- m_pos = 0;
- }
+ wxStringInputStream(const wxString& s);
+ virtual ~wxStringInputStream();
- virtual size_t GetSize() const { return m_str.length(); }
+ virtual wxFileOffset GetLength() const;
protected:
virtual wxFileOffset OnSysSeek(wxFileOffset ofs, wxSeekMode mode);
virtual size_t OnSysRead(void *buffer, size_t size);
private:
- // the string we're reading from
+ // the string that was passed in the ctor
wxString m_str;
+ // the buffer we're reading from
+ char* m_buf;
+
+ // length of the buffer we're reading from
+ size_t m_len;
+
// position in the stream in bytes, *not* in chars
size_t m_pos;
-
DECLARE_NO_COPY_CLASS(wxStringInputStream)
};
// position in the stream in bytes, *not* in chars
size_t m_pos;
+#if wxUSE_WCHAR_T
+ // string encoding converter (UTF8 is the standard)
+ wxMBConvUTF8 m_conv;
+#else
+ wxMBConv m_conv;
+#endif
DECLARE_NO_COPY_CLASS(wxStringOutputStream)
};