]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/datstrm.tex
don't call wxYield() from EnsureVisible(), this is too dangerous - and unnecessary...
[wxWidgets.git] / docs / latex / wx / datstrm.tex
index 637ee3ae0b208241bc9b1dd292df7e5d9c85b42a..7eaabb563d4b560bccf1b4e3a63f3458f3d144bc 100644 (file)
-\section{\class{wxDataStream}}\label{wxdatastream}
+% ----------------------------------------------------------------------------
+% wxDataInputStream
+% ----------------------------------------------------------------------------
+\section{\class{wxDataInputStream}}\label{wxdatainputstream}
 
 
-This class provides functions that read and write integers or double in a
-portable way. So, a file written by an Intel processor can be read by a
-Sparc or anything else.
+This class provides functions that read binary data types in a
+portable way. Data can be read in either big-endian or litte-endian
+format, little-endian being the default on all architectures.
 
 
-\latexignore{\rtfignore{\wxheading{Members}}}
+If you want to read data from text files (or streams) use 
+\helpref{wxTextInputStream}{wxtextinputstream} instead.
 
 
-\membersection{wxDataStream::wxDataStream}\label{wxdatastreamconstr}
+The >> operator is overloaded and you can use this class like a standard C++ iostream.
+Note, however, that the arguments are the fixed size types wxUint32, wxInt32 etc
+and on a typical 32-bit computer, none of these match to the "long" type (wxInt32
+is defined as signed int on 32-bit architectures) so that you cannot use long. To avoid
+problems (here and elsewhere), make use of the wxInt32, wxUint32, etc types.
 
 
-\func{}{wxDataStream}{\param{istream\&}{ stream}}
+For example:
 
 
-Constructs a datastream object from a C++ input stream. Only read methods will
-be available.
+\begin{verbatim}
+  wxFileInputStream input( "mytext.dat" );
+  wxDataInputStream store( input );
+  wxUint8 i1;
+  float f2;
+  wxString line;
 
 
-\wxheading{Parameters}
+  store >> i1;       // read a 8 bit integer.
+  store >> i1 >> f2; // read a 8 bit integer followed by float.
+  store >> line;     // read a text line
+\end{verbatim}
+
+See also \helpref{wxDataOutputStream}{wxdataoutputstream}. 
+
+\wxheading{Derived from}
 
 
-\docparam{stream}{The C++ input stream.}
+None
+
+\wxheading{Include files}
+
+<wx/datstrm.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
 
 
-\func{}{wxDataStream}{\param{istream\&}{ stream}}
+\membersection{wxDataInputStream::wxDataInputStream}\label{wxdatainputstreamconstr}
 
 
-Constructs a datastream object from a C++ input stream. Only read methods will
+\func{}{wxDataInputStream}{\param{wxInputStream\&}{ stream}}
+
+Constructs a datastream object from an input stream. Only read methods will
 be available.
 
 \wxheading{Parameters}
 
 be available.
 
 \wxheading{Parameters}
 
-\docparam{stream}{The C++ input stream.}
+\docparam{stream}{The input stream.}
+
+\membersection{wxDataInputStream::\destruct{wxDataInputStream}}
 
 
-\membersection{wxDataStream::\destruct{wxDataStream}}
+\func{}{\destruct{wxDataInputStream}}{\void}
 
 
-\func{}{\destruct{wxDataStream}}{\void}
+Destroys the wxDataInputStream object.
 
 
-Destroys the wxDataStream object.
+\membersection{wxDataInputStream::BigEndianOrdered}
 
 
-\membersection{wxDataStream::Read8}
+\func{void}{BigEndianOrdered}{\param{bool}{ be\_order}}
 
 
-\func{unsigned char}{Read8}{\void}
+If {\it be\_order} is TRUE, all data will be read in big-endian
+order, such as written by programs on a big endian architecture 
+(e.g. Sparc) or written by Java-Streams (which always use 
+big-endian order).
+  
+\membersection{wxDataInputStream::Read8}
+
+\func{wxUint8}{Read8}{\void}
 
 Reads a single byte from the stream.
 
 
 Reads a single byte from the stream.
 
-\membersection{wxDataStream::Read16}
+\membersection{wxDataInputStream::Read16}
 
 
-\func{unsigned short}{Read16}{\void}
+\func{wxUint16}{Read16}{\void}
 
 Reads a 16 bit integer from the stream.
 
 
 Reads a 16 bit integer from the stream.
 
-\membersection{wxDataStream::Read32}
+\membersection{wxDataInputStream::Read32}
 
 
-\func{unsigned long}{Read32}{\void}
+\func{wxUint32}{Read32}{\void}
 
 Reads a 32 bit integer from the stream.
 
 
 Reads a 32 bit integer from the stream.
 
-\membersection{wxDataStream::ReadDouble}
+\membersection{wxDataInputStream::ReadDouble}
 
 \func{double}{ReadDouble}{\void}
 
 Reads a double (IEEE encoded) from the stream.
 
 
 \func{double}{ReadDouble}{\void}
 
 Reads a double (IEEE encoded) from the stream.
 
-\membersection{wxDataStream::ReadString}
+\membersection{wxDataInputStream::ReadString}
 
 
-\func{wxString}{wxDataStream::ReadString}{\void}
+\func{wxString}{ReadString}{\void}
 
 
-Reads a string from a stream. Actually, this function first reads a byte
+Reads a string from a stream. Actually, this function first reads a long integer
 specifying the length of the string (without the last null character) and then
 reads the string.
 
 specifying the length of the string (without the last null character) and then
 reads the string.
 
-\membersection{wxDataStream::ReadLine}
+% ----------------------------------------------------------------------------
+% wxDataOutputStream
+% ----------------------------------------------------------------------------
+
+\section{\class{wxDataOutputStream}}\label{wxdataoutputstream}
+
+This class provides functions that write binary data types in a
+portable way. Data can be written in either big-endian or litte-endian
+format, little-endian being the default on all architectures.
+
+If you want to write data to text files (or streams) use 
+\helpref{wxTextOutputStream}{wxtextoutputstream} instead.
+
+The << operator is overloaded and you can use this class like a standard 
+C++ iostream. See \helpref{wxDataInputStream}{wxdatainputstream} for its 
+usage and caveats.
+
+See also \helpref{wxDataInputStream}{wxdatainputstream}. 
 
 
-\func{wxString}{wxDataStream::ReadLine}{\void}
+\wxheading{Derived from}
 
 
-Reads a line from the stream. A line is a string which ends with \\n or \\r\\n.
+None
 
 
-\membersection{wxDataStream::Write8}
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxDataOutputStream::wxDataOutputStream}\label{wxdataoutputstreamconstr}
+
+\func{}{wxDataOutputStream}{\param{wxOutputStream\&}{ stream}}
+
+Constructs a datastream object from an output stream. Only write methods will
+be available.
+
+\wxheading{Parameters}
+
+\docparam{stream}{The output stream.}
+
+\membersection{wxDataOutputStream::\destruct{wxDataOutputStream}}
 
 
-\func{void}{wxDataStream::Write8}{{\param unsigned char }{i8}}
+\func{}{\destruct{wxDataOutputStream}}{\void}
+
+Destroys the wxDataOutputStream object.
+
+\membersection{wxDataOutputStream::BigEndianOrdered}
+
+\func{void}{BigEndianOrdered}{\param{bool}{ be\_order}}
+
+If {\it be\_order} is TRUE, all data will be written in big-endian
+order, e.g. for reading on a Sparc or from Java-Streams (which
+always use big-endian order), otherwise data will be written in
+little-endian order.
+\membersection{wxDataOutputStream::Write8}
+
+\func{void}{Write8}{{\param wxUint8 }{i8}}
 
 Writes the single byte {\it i8} to the stream.
 
 
 Writes the single byte {\it i8} to the stream.
 
-\membersection{wxDataStream::Write16}
+\membersection{wxDataOutputStream::Write16}
 
 
-\func{void}{wxDataStream::Write16}{{\param unsigned short }{i16}}
+\func{void}{Write16}{{\param wxUint16 }{i16}}
 
 Writes the 16 bit integer {\it i16} to the stream.
 
 
 Writes the 16 bit integer {\it i16} to the stream.
 
-\membersection{wxDataStream::Write32}
+\membersection{wxDataOutputStream::Write32}
 
 
-\func{void}{wxDataStream::Write32}{{\param unsigned long }{i32}}
+\func{void}{Write32}{{\param wxUint32 }{i32}}
 
 Writes the 32 bit integer {\it i32} to the stream.
 
 
 Writes the 32 bit integer {\it i32} to the stream.
 
-\membersection{wxDataStream::WriteDouble}
+\membersection{wxDataOutputStream::WriteDouble}
 
 
-\func{void}{wxDataStream::WriteDouble}{{\param double }{f}}
+\func{void}{WriteDouble}{{\param double }{f}}
 
 Writes the double {\it f} to the stream using the IEEE format.
 
 
 Writes the double {\it f} to the stream using the IEEE format.
 
-\membersection{wxDataStream::WriteString}
+\membersection{wxDataOutputStream::WriteString}
 
 
-\func{void}{wxDataStream::WriteString}{{\param const wxString\& }{string}}
+\func{void}{WriteString}{{\param const wxString\& }{string}}
 
 Writes {\it string} to the stream. Actually, this method writes the size of
 the string before writing {\it string} itself.
 
 
 Writes {\it string} to the stream. Actually, this method writes the size of
 the string before writing {\it string} itself.
 
-\membersection{wxDataStream::WriteLine}
-
-\func{void}{wxDataStream::WriteLine}{{\param const wxString\& }{string}}
-
-Writes {\it string} as a line. Depending on the operating system, it adds
-\\n or \\r\\n.
-
-%%% Local Variables: 
-%%% mode: latex
-%%% TeX-master: "referenc"
-%%% End: