added wx(U)int64, then added it to wxDataStream so contrib should

(hopefully) now build on alpha, ia64, s/390 without the kludge
from 2.2


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Ron Lee
2001-11-26 03:53:32 +00:00
parent 1489a2c037
commit 41b0a1139d
4 changed files with 98 additions and 34 deletions

View File

@@ -37,6 +37,18 @@ wxDataInputStream::~wxDataInputStream()
{
}
wxUint64 wxDataInputStream::Read64()
{
wxUint64 i64;
m_input->Read(&i64, 8);
if (m_be_order)
return wxUINT64_SWAP_ON_LE(i64);
else
return wxUINT64_SWAP_ON_BE(i64);
}
wxUint32 wxDataInputStream::Read32()
{
wxUint32 i32;
@@ -151,6 +163,12 @@ wxDataInputStream& wxDataInputStream::operator>>(wxUint32& i)
return *this;
}
wxDataInputStream& wxDataInputStream::operator>>(wxUint64& i)
{
i = Read64();
return *this;
}
wxDataInputStream& wxDataInputStream::operator>>(double& i)
{
i = ReadDouble();
@@ -176,6 +194,17 @@ wxDataOutputStream::~wxDataOutputStream()
{
}
void wxDataOutputStream::Write64(wxUint64 i)
{
wxUint64 i64;
if (m_be_order)
i64 = wxUINT64_SWAP_ON_LE(i);
else
i64 = wxUINT64_SWAP_ON_BE(i);
m_output->Write(&i64, 8);
}
void wxDataOutputStream::Write32(wxUint32 i)
{
wxUint32 i32;
@@ -279,6 +308,12 @@ wxDataOutputStream& wxDataOutputStream::operator<<(wxUint32 i)
return *this;
}
wxDataOutputStream& wxDataOutputStream::operator<<(wxUint64 i)
{
Write64(i);
return *this;
}
wxDataOutputStream& wxDataOutputStream::operator<<(double f)
{
WriteDouble(f);