X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/38caaa61b154f60871cb6ec82040362762dd2dba..461573cc244a194f804e2bf0c8ba6a365e77c95c:/include/wx/datstrm.h diff --git a/include/wx/datstrm.h b/include/wx/datstrm.h index 74e5375e31..dc6e3f51a6 100644 --- a/include/wx/datstrm.h +++ b/include/wx/datstrm.h @@ -12,20 +12,29 @@ #ifndef _WX_DATSTREAM_H_ #define _WX_DATSTREAM_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "datstrm.h" #endif #include "wx/stream.h" +#include "wx/longlong.h" +#include "wx/strconv.h" #if wxUSE_STREAMS class WXDLLEXPORT wxDataInputStream { public: +#if wxUSE_UNICODE + wxDataInputStream(wxInputStream& s, wxMBConv& conv = wxConvUTF8); +#else wxDataInputStream(wxInputStream& s); +#endif ~wxDataInputStream(); + + bool IsOk() { return m_input->IsOk(); } + wxUint64 Read64(); wxUint32 Read32(); wxUint16 Read16(); wxUint8 Read8(); @@ -39,6 +48,7 @@ public: wxDataInputStream& operator>>(wxUint8& c); wxDataInputStream& operator>>(wxUint16& i); wxDataInputStream& operator>>(wxUint32& i); + wxDataInputStream& operator>>(wxUint64& i); wxDataInputStream& operator>>(double& i); wxDataInputStream& operator>>(float& f); @@ -47,14 +57,26 @@ public: protected: wxInputStream *m_input; bool m_be_order; +#if wxUSE_UNICODE + wxMBConv& m_conv; +#endif + + DECLARE_NO_COPY_CLASS(wxDataInputStream) }; class WXDLLEXPORT wxDataOutputStream { public: +#if wxUSE_UNICODE + wxDataOutputStream(wxOutputStream& s, wxMBConv& conv = wxConvUTF8); +#else wxDataOutputStream(wxOutputStream& s); +#endif ~wxDataOutputStream(); + bool IsOk() { return m_output->IsOk(); } + + void Write64(wxUint64 i); void Write32(wxUint32 i); void Write16(wxUint16 i); void Write8(wxUint8 i); @@ -69,6 +91,7 @@ public: wxDataOutputStream& operator<<(wxUint8 c); wxDataOutputStream& operator<<(wxUint16 i); wxDataOutputStream& operator<<(wxUint32 i); + wxDataOutputStream& operator<<(wxUint64 i); wxDataOutputStream& operator<<(double f); wxDataOutputStream& operator<<(float f); @@ -77,6 +100,11 @@ public: protected: wxOutputStream *m_output; bool m_be_order; +#if wxUSE_UNICODE + wxMBConv& m_conv; +#endif + + DECLARE_NO_COPY_CLASS(wxDataOutputStream) }; #endif