]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/datstrm.tex
added wxFontEnumerator::GetFacenames and GetEncodings that return array of facenames...
[wxWidgets.git] / docs / latex / wx / datstrm.tex
index c357fb665eb8a7a1a2783323e7c2e0efb07c5c36..037a730d1693a9bf8fe42ebb15e867e496b07727 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{wxwaveconstr}
+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:
+\begin{verbatim}
+  wxFileInputStream input( "mytext.dat" );
+  wxDataInputStream store( input );
+  wxUint8 i1;
+  float f2;
+  wxString line;
 
 
-Constructs a datastream object from a C++ input stream. Only read methods will
-be available.
+  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}
 
 
-\wxheading{Parameters}
+See also \helpref{wxDataOutputStream}{wxdataoutputstream}. 
+
+\wxheading{Derived from}
+
+None
+
+\wxheading{Include files}
+
+<wx/datstrm.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
 
 
-\docparam{stream}{The C++ input stream.}
+\membersection{wxDataInputStream::wxDataInputStream}\label{wxdatainputstreamconstr}
 
 
-\func{}{wxDataStream}{\param{istream\&}{ stream}}
+\func{}{wxDataInputStream}{\param{wxInputStream\&}{ stream}}
 
 
-Constructs a datastream object from a C++ input stream. Only read methods will
+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{wxDataStream::\destruct{wxDataStream}}
+\membersection{wxDataInputStream::\destruct{wxDataInputStream}}
 
 
-\func{}{\destruct{wxDataStream}}{\void}
+\func{}{\destruct{wxDataInputStream}}{\void}
 
 
-Destroys the wxDataStream object.
+Destroys the wxDataInputStream object.
 
 
-\membersection{wxDataStream::Read8}
+\membersection{wxDataInputStream::BigEndianOrdered}
 
 
-\func{unsigned char}{Read8}{\void}
+\func{void}{BigEndianOrdered}{\param{bool}{ be_order}}
+
+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}{wxDataInputStream::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.
 
 
-\func{wxString}{wxDataStream::ReadLine}{\void}
+If you want to write data to text files (or streams) use 
+\helpref{wxTextOutputStream}{wxtextoutputstream} instead.
 
 
-Reads a line from the stream. A line is a string which ends with \\n or \\r\\n.
+The << operator is overloaded and you can use this class like a standard 
+C++ iostream. See \helpref{wxDataInputStream}{wxdatainputstream} for its 
+usage and caveats.
 
 
-\membersection{wxDataStream::Write8}
+See also \helpref{wxDataInputStream}{wxdatainputstream}. 
+
+\wxheading{Derived from}
+
+None
+
+\latexignore{\rtfignore{\wxheading{Members}}}
 
 
-\func{void}{wxDataStream::Write8}{{\param unsigned char }{i8}}
+\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{}{\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}{wxDataOutputStream::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}{wxDataOutputStream::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}{wxDataOutputStream::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}{wxDataOutputStream::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}{wxDataOutputStream::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: