X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e3eca9d3782d5eed5ba8d8019548c9f82523517..67b81440f079f88e6202a199fd5763af73bbac0f:/include/wx/datstrm.h diff --git a/include/wx/datstrm.h b/include/wx/datstrm.h index 40537e3291..6ba074de71 100644 --- a/include/wx/datstrm.h +++ b/include/wx/datstrm.h @@ -16,32 +16,63 @@ #pragma interface "datstrm.h" #endif -#include +#include "wx/stream.h" #if wxUSE_STREAMS -class WXDLLEXPORT wxDataInputStream: public wxFilterInputStream { +class WXDLLEXPORT wxDataInputStream { public: wxDataInputStream(wxInputStream& s); - virtual ~wxDataInputStream(); + ~wxDataInputStream(); wxUint32 Read32(); wxUint16 Read16(); wxUint8 Read8(); double ReadDouble(); wxString ReadString(); + + wxDataInputStream& operator>>(wxString& s); + wxDataInputStream& operator>>(wxInt8& c); + wxDataInputStream& operator>>(wxInt16& i); + wxDataInputStream& operator>>(wxInt32& i); + wxDataInputStream& operator>>(wxUint8& c); + wxDataInputStream& operator>>(wxUint16& i); + wxDataInputStream& operator>>(wxUint32& i); + wxDataInputStream& operator>>(double& i); + wxDataInputStream& operator>>(float& f); + + void BigEndianOrdered(bool be_order) { m_be_order = be_order; } + protected: + wxInputStream *m_input; + bool m_be_order; }; -class WXDLLEXPORT wxDataOutputStream: public wxFilterOutputStream { +class WXDLLEXPORT wxDataOutputStream { public: wxDataOutputStream(wxOutputStream& s); - virtual ~wxDataOutputStream(); + ~wxDataOutputStream(); void Write32(wxUint32 i); void Write16(wxUint16 i); void Write8(wxUint8 i); void WriteDouble(double d); void WriteString(const wxString& string); + + wxDataOutputStream& operator<<(const wxChar *string); + wxDataOutputStream& operator<<(wxString& string); + wxDataOutputStream& operator<<(wxInt8 c); + wxDataOutputStream& operator<<(wxInt16 i); + wxDataOutputStream& operator<<(wxInt32 i); + wxDataOutputStream& operator<<(wxUint8 c); + wxDataOutputStream& operator<<(wxUint16 i); + wxDataOutputStream& operator<<(wxUint32 i); + wxDataOutputStream& operator<<(double f); + wxDataOutputStream& operator<<(float f); + + void BigEndianOrdered(bool be_order) { m_be_order = be_order; } + protected: + wxOutputStream *m_output; + bool m_be_order; }; #endif