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 wxFileOffset GetLength() const;
protected:
- virtual size_t GetSize() const { return m_str.length(); }
- virtual off_t OnSysSeek(off_t ofs, wxSeekMode mode);
- virtual off_t OnSysTell() const;
+ virtual wxFileOffset OnSysSeek(wxFileOffset ofs, wxSeekMode mode);
+ virtual wxFileOffset OnSysTell() const;
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)
};
const wxString& GetString() const { return *m_str; }
protected:
+ virtual wxFileOffset OnSysTell() const;
virtual size_t OnSysWrite(const void *buffer, size_t size);
private:
// 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)
};