-class wxMemoryInputStream: public wxInputStream {
- private:
- size_t m_length;
-
- public:
- wxMemoryInputStream(const char *data, size_t length);
- virtual ~wxMemoryInputStream();
- virtual size_t StreamSize() const { return m_length; }
+#include "wx/stream.h"
+
+class WXDLLIMPEXP_FWD_BASE wxMemoryOutputStream;
+
+class WXDLLIMPEXP_BASE wxMemoryInputStream : public wxInputStream
+{
+public:
+ wxMemoryInputStream(const void *data, size_t length);
+ wxMemoryInputStream(const wxMemoryOutputStream& stream);
+ wxMemoryInputStream(wxInputStream& stream,
+ wxFileOffset lenFile = wxInvalidOffset)
+ {
+ InitFromStream(stream, lenFile);
+ }
+ wxMemoryInputStream(wxMemoryInputStream& stream)
+ : wxInputStream()
+ {
+ InitFromStream(stream, wxInvalidOffset);
+ }
+
+ virtual ~wxMemoryInputStream();
+ virtual wxFileOffset GetLength() const { return m_length; }
+ virtual bool IsSeekable() const { return true; }
+
+ virtual char Peek();
+ virtual bool CanRead() const;
+
+ wxStreamBuffer *GetInputStreamBuffer() const { return m_i_streambuf; }