]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/datstrm.h
added wx/defs.h include to correct compilation issues under Mac OS X
[wxWidgets.git] / include / wx / datstrm.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: datstrm.h
3// Purpose: Data stream classes
4// Author: Guilhem Lavaux
5// Modified by:
6// Created: 28/06/1998
7// RCS-ID: $Id$
8// Copyright: (c) Guilhem Lavaux
9// Licence: wxWindows license
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_DATSTREAM_H_
13#define _WX_DATSTREAM_H_
14
15#ifdef __GNUG__
16#pragma interface "datstrm.h"
17#endif
18
19#include "wx/stream.h"
20
21#if wxUSE_STREAMS
22
23class WXDLLEXPORT wxDataInputStream
24{
25public:
26 wxDataInputStream(wxInputStream& s);
27 ~wxDataInputStream();
28
29 wxUint32 Read32();
30 wxUint16 Read16();
31 wxUint8 Read8();
32 double ReadDouble();
33 wxString ReadString();
34
35 wxDataInputStream& operator>>(wxString& s);
36 wxDataInputStream& operator>>(wxInt8& c);
37 wxDataInputStream& operator>>(wxInt16& i);
38 wxDataInputStream& operator>>(wxInt32& i);
39 wxDataInputStream& operator>>(wxUint8& c);
40 wxDataInputStream& operator>>(wxUint16& i);
41 wxDataInputStream& operator>>(wxUint32& i);
42 wxDataInputStream& operator>>(double& i);
43 wxDataInputStream& operator>>(float& f);
44
45 void BigEndianOrdered(bool be_order) { m_be_order = be_order; }
46
47protected:
48 wxInputStream *m_input;
49 bool m_be_order;
50};
51
52class WXDLLEXPORT wxDataOutputStream
53{
54public:
55 wxDataOutputStream(wxOutputStream& s);
56 ~wxDataOutputStream();
57
58 void Write32(wxUint32 i);
59 void Write16(wxUint16 i);
60 void Write8(wxUint8 i);
61 void WriteDouble(double d);
62 void WriteString(const wxString& string);
63
64 wxDataOutputStream& operator<<(const wxChar *string);
65 wxDataOutputStream& operator<<(const wxString& string);
66 wxDataOutputStream& operator<<(wxInt8 c);
67 wxDataOutputStream& operator<<(wxInt16 i);
68 wxDataOutputStream& operator<<(wxInt32 i);
69 wxDataOutputStream& operator<<(wxUint8 c);
70 wxDataOutputStream& operator<<(wxUint16 i);
71 wxDataOutputStream& operator<<(wxUint32 i);
72 wxDataOutputStream& operator<<(double f);
73 wxDataOutputStream& operator<<(float f);
74
75 void BigEndianOrdered(bool be_order) { m_be_order = be_order; }
76
77protected:
78 wxOutputStream *m_output;
79 bool m_be_order;
80};
81
82#endif
83 // wxUSE_STREAMS
84
85#endif
86 // _WX_DATSTREAM_H_