X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fae05df5a988883e9c6683ccded766dfb7b84b1b..ab20a9a95a8bbed75bfc6ecba20f013eb9dcff46:/include/wx/txtstrm.h diff --git a/include/wx/txtstrm.h b/include/wx/txtstrm.h index 3a951f2633..afa18e3bce 100644 --- a/include/wx/txtstrm.h +++ b/include/wx/txtstrm.h @@ -16,10 +16,18 @@ #pragma interface "txtstrm.h" #endif -#include +#include "wx/stream.h" #if wxUSE_STREAMS +class WXDLLEXPORT wxTextInputStream; +class WXDLLEXPORT wxTextOutputStream; + +typedef wxTextInputStream& (*__wxTextInputManip)(wxTextInputStream&); +typedef wxTextOutputStream& (*__wxTextOutputManip)(wxTextOutputStream&); + +WXDLLEXPORT wxTextOutputStream &endl( wxTextOutputStream &stream ); + class WXDLLEXPORT wxTextInputStream { public: wxTextInputStream(wxInputStream& s); @@ -33,17 +41,21 @@ public: // Operators wxTextInputStream& operator>>(wxString& line); - wxTextInputStream& operator>>(wxInt8& c); + wxTextInputStream& operator>>(wxChar& c); wxTextInputStream& operator>>(wxInt16& i); wxTextInputStream& operator>>(wxInt32& i); - wxTextInputStream& operator>>(wxUint8& c); wxTextInputStream& operator>>(wxUint16& i); wxTextInputStream& operator>>(wxUint32& i); wxTextInputStream& operator>>(double& i); wxTextInputStream& operator>>(float& f); - + + wxTextInputStream& operator>>( __wxTextInputManip func) { return func(*this); } + protected: wxInputStream *m_input; + + wxChar NextNonWhiteSpace(); + void SkipIfEndOfLine( wxChar c ); }; class WXDLLEXPORT wxTextOutputStream { @@ -56,18 +68,19 @@ class WXDLLEXPORT wxTextOutputStream { void Write8(wxUint8 i); void WriteDouble(double d); void WriteString(const wxString& string); - + wxTextOutputStream& operator<<(const wxChar *string); wxTextOutputStream& operator<<(const wxString& string); - wxTextOutputStream& operator<<(wxInt8 c); + wxTextOutputStream& operator<<(wxChar c); wxTextOutputStream& operator<<(wxInt16 c); wxTextOutputStream& operator<<(wxInt32 c); - wxTextOutputStream& operator<<(wxUint8 c); wxTextOutputStream& operator<<(wxUint16 c); wxTextOutputStream& operator<<(wxUint32 c); wxTextOutputStream& operator<<(double f); wxTextOutputStream& operator<<(float f); + wxTextOutputStream& operator<<( __wxTextOutputManip func) { return func(*this); } + protected: wxOutputStream *m_output; };