% -----------------------------------------------------------------------------
\section{\class{wxOutputStream}}\label{wxoutputstream}
+wxOutputStream is an abstract base class which may not be used directly.
+
\wxheading{Derived from}
\helpref{wxStreamBase}{wxstreambase}
-\wxheading{See also}
+\wxheading{Include files}
+
+<wx/stream.h>
-\helpref{wxStreamBuffer}{wxstreambuffer}
+\latexignore{\rtfignore{\wxheading{Members}}}
% -----------
% ctor & dtor
% -----------
-\membersection{wxOutputStream::wxOutputStream}
+
+\membersection{wxOutputStream::wxOutputStream}\label{wxoutputstreamctor}
\func{}{wxOutputStream}{\void}
Creates a dummy wxOutputStream object.
-\func{}{wxOutputStream}{\param{wxStreamBuffer*}{ sbuf}}
-
-Creates an input stream using the specified stream buffer \it{sbuf}. This
-stream buffer can point to another stream.
-\membersection{wxOutputStream::\destruct{wxOutputStream}}
+\membersection{wxOutputStream::\destruct{wxOutputStream}}\label{wxoutputstreamdtor}
\func{}{\destruct{wxOutputStream}}{\void}
Destructor.
-% -----------
-% IO function
-% -----------
-\membersection{wxOutputStream::PutC}
+
+\membersection{wxOutputStream::Close}\label{wxoutputstreamclose}
+
+\func{bool}{Close}{\void}
+
+Closes the stream, returning {\tt false} if an error occurs. The
+stream is closed implicitly in the destructor if Close() is not
+called explicitly.
+
+If this stream wraps another stream or some other resource such
+as a file, then the underlying resource is closed too if it is owned
+by this stream, or left open otherwise.
+
+
+\membersection{wxOutputStream::LastWrite}\label{wxoutputstreamlastwrite}
+
+\constfunc{size\_t}{LastWrite}{\void}
+
+Returns the number of bytes written during the last
+\helpref{Write()}{wxoutputstreamwrite}. It may return $0$ even if there is no
+error on the stream if it is only temporarily impossible to write to it.
+
+
+\membersection{wxOutputStream::PutC}\label{wxoutputstreamputc}
\func{void}{PutC}{\param{char}{ c}}
Puts the specified character in the output queue and increments the
stream position.
-\membersection{wxOutputStream::Write}
-\func{wxOutputStream\&}{Write}{\param{const void *}{buffer}, \param{size_t}{ size}}
+\membersection{wxOutputStream::SeekO}\label{wxoutputstreamseeko}
-Writes the specified amount of bytes using the data of \it{buffer}.
-\it{WARNING!} The buffer absolutely needs to have at least the specified size.
+\func{off\_t}{SeekO}{\param{off\_t}{ pos}, \param{wxSeekMode}{ mode = wxFromStart}}
-This function returns a reference on the current object, so the user can test
-any states of the stream right away.
+Changes the stream current position.
-\func{wxOutputStream\&}{Write}{\param{wxInputStream\&}{ stream_in}}
+\wxheading{Parameters}
-Reads data from the specified input stream and stores them
-in the current stream. The data is read until an error is raised
-by one of the two streams.
+\docparam{pos}{Offset to seek to.}
-% ------------------
-% Position functions
-% ------------------
-\membersection{wxOutputStream::SeekO}
+\docparam{mode}{One of {\bf wxFromStart}, {\bf wxFromEnd}, {\bf wxFromCurrent}.}
-\func{off_t}{SeekO}{\param{off_t}{ pos}, \param{wxSeekMode}{ mode}}
+\wxheading{Return value}
+
+The new stream position or wxInvalidOffset on error.
-Changes the stream current position.
-\membersection{wxOutputStream::TellO}
+\membersection{wxOutputStream::TellO}\label{wxoutputstreamtello}
-\constfunc{off_t}{TellO}{\void}
+\constfunc{off\_t}{TellO}{\void}
Returns the current stream position.
-% ---------------
-% State functions
-% ---------------
-\membersection{wxOutputStream::OutputStreamBuffer}
-\func{wxStreamBuffer *}{OutputStreamBuffer}{\void}
+\membersection{wxOutputStream::Write}\label{wxoutputstreamwrite}
-Returns the stream buffer associated with the output stream.
+\func{wxOutputStream\&}{Write}{\param{const void *}{buffer}, \param{size\_t}{ size}}
-\membersection{wxOutputStream::LastWrite}
+Writes up to the specified amount of bytes using the data of {\it buffer}. Note
+that not all data can always be written so you must check the number of bytes
+really written to the stream using \helpref{LastWrite()}{wxoutputstreamlastwrite}
+when this function returns. In some cases (for example a write end of a pipe
+which is currently full) it is even possible that there is no errors and zero
+bytes have been written.
-\constfunc{size_t}{LastWrite}{\void}
+This function returns a reference on the current object, so the user can test
+any states of the stream right away.
+
+\func{wxOutputStream\&}{Write}{\param{wxInputStream\&}{ stream\_in}}
+
+Reads data from the specified input stream and stores them
+in the current stream. The data is read until an error is raised
+by one of the two streams.