X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/341287bf49066e5dd84e971bd508ee3919ff4b46..8f0c8a80937fbaf593b09c60e2ad73f3e914f618:/src/common/variant.cpp diff --git a/src/common/variant.cpp b/src/common/variant.cpp index e259e9ef2f..02fa477273 100644 --- a/src/common/variant.cpp +++ b/src/common/variant.cpp @@ -20,8 +20,16 @@ #pragma hdrstop #endif -#include +#if wxUSE_IOSTREAMH +# include +#else +# include +# ifdef _MSC_VER + using namespace std; +# endif +#endif +#include "wx/stream.h" #include "wx/string.h" #include "wx/variant.h" @@ -287,7 +295,9 @@ public: virtual bool Eq(wxVariantData& data) const; virtual bool Write(ostream& str) const; virtual bool Write(wxString& str) const; + virtual bool Write(wxOutputStream &str) const; virtual bool Read(istream& str); + virtual bool Read(wxInputStream& str); virtual bool Read(wxString& str); virtual wxString GetType() const { return "long"; }; @@ -323,6 +333,12 @@ bool wxVariantDataLong::Write(ostream& str) const return TRUE; } +bool wxVariantDataLong::Write(wxOutputStream& str) const +{ + str << m_value; + return TRUE; +} + bool wxVariantDataLong::Write(wxString& str) const { str.Printf("%ld", m_value); @@ -335,6 +351,12 @@ bool wxVariantDataLong::Read(istream& str) return TRUE; } +bool wxVariantDataLong::Read(wxInputStream& str) +{ + str >> m_value; + return TRUE; +} + bool wxVariantDataLong::Read(wxString& str) { m_value = atol((const char*) str); @@ -359,7 +381,9 @@ public: virtual bool Eq(wxVariantData& data) const; virtual bool Write(ostream& str) const; virtual bool Write(wxString& str) const; + virtual bool Write(wxOutputStream &str) const; virtual bool Read(istream& str); + virtual bool Read(wxInputStream& str); virtual bool Read(wxString& str); virtual wxString GetType() const { return "double"; }; @@ -395,6 +419,12 @@ bool wxVariantDataReal::Write(ostream& str) const return TRUE; } +bool wxVariantDataReal::Write(wxOutputStream& str) const +{ + str << m_value; + return TRUE; +} + bool wxVariantDataReal::Write(wxString& str) const { str.Printf("%.4f", m_value); @@ -407,6 +437,12 @@ bool wxVariantDataReal::Read(istream& str) return TRUE; } +bool wxVariantDataReal::Read(wxInputStream& str) +{ + str >> (float&)m_value; + return TRUE; +} + bool wxVariantDataReal::Read(wxString& str) { m_value = atof((const char*) str); @@ -430,8 +466,10 @@ public: virtual void Copy(wxVariantData& data); virtual bool Eq(wxVariantData& data) const; virtual bool Write(ostream& str) const; + virtual bool Write(wxOutputStream& str) const; virtual bool Write(wxString& str) const; virtual bool Read(istream& str); + virtual bool Read(wxInputStream& str); virtual bool Read(wxString& str); virtual wxString GetType() const { return "bool"; }; @@ -467,6 +505,12 @@ bool wxVariantDataBool::Write(ostream& str) const return TRUE; } +bool wxVariantDataBool::Write(wxOutputStream& str) const +{ + str << (char)m_value; + return TRUE; +} + bool wxVariantDataBool::Write(wxString& str) const { str.Printf("%d", (int) m_value); @@ -480,6 +524,12 @@ bool wxVariantDataBool::Read(istream& WXUNUSED(str)) return FALSE; } +bool wxVariantDataBool::Read(wxInputStream& str) +{ + str >> (char&)m_value; + return TRUE; +} + bool wxVariantDataBool::Read(wxString& str) { m_value = (atol((const char*) str) != 0); @@ -503,8 +553,10 @@ public: virtual void Copy(wxVariantData& data); virtual bool Eq(wxVariantData& data) const; virtual bool Write(ostream& str) const; + virtual bool Write(wxOutputStream& str) const; virtual bool Write(wxString& str) const; virtual bool Read(istream& str); + virtual bool Read(wxInputStream& str); virtual bool Read(wxString& str); virtual wxString GetType() const { return "char"; }; @@ -540,6 +592,12 @@ bool wxVariantDataChar::Write(ostream& str) const return TRUE; } +bool wxVariantDataChar::Write(wxOutputStream& str) const +{ + str << m_value; + return TRUE; +} + bool wxVariantDataChar::Write(wxString& str) const { str.Printf("%c", m_value); @@ -553,6 +611,12 @@ bool wxVariantDataChar::Read(istream& WXUNUSED(str)) return FALSE; } +bool wxVariantDataChar::Read(wxInputStream& str) +{ + str >> m_value; + return TRUE; +} + bool wxVariantDataChar::Read(wxString& str) { m_value = str[(size_t)0]; @@ -576,8 +640,10 @@ public: virtual void Copy(wxVariantData& data); virtual bool Eq(wxVariantData& data) const; virtual bool Write(ostream& str) const; + virtual bool Write(wxOutputStream& str) const; virtual bool Write(wxString& str) const; virtual bool Read(istream& str); + virtual bool Read(wxInputStream& str); virtual bool Read(wxString& str); virtual wxString GetType() const { return "string"; }; @@ -609,6 +675,12 @@ bool wxVariantDataString::Write(ostream& str) const return TRUE; } +bool wxVariantDataString::Write(wxOutputStream& str) const +{ + str << (const char*) m_value; + return TRUE; +} + bool wxVariantDataString::Write(wxString& str) const { str = m_value; @@ -621,6 +693,12 @@ bool wxVariantDataString::Read(istream& str) return TRUE; } +bool wxVariantDataString::Read(wxInputStream& str) +{ + str >> m_value; + return TRUE; +} + bool wxVariantDataString::Read(wxString& str) { m_value = str;