]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/doxygen/overviews/stream.h
Simplify wxIdRange code by using new XRCID_Assign() function.
[wxWidgets.git] / docs / doxygen / overviews / stream.h
index 759c0c903df2b80f8c55cec34c9895bb147eacf0..683f64f01f8debd9199f84bef623ee7cccf666e8 100644 (file)
@@ -1,14 +1,14 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        stream.h
-// Purpose:     topic overview
+// Purpose:     stream classes overview
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 
-@page overview_stream wxStreams Overview
+@page overview_stream Stream classes overview
 
 Classes:
 @li wxStreamBase
@@ -17,6 +17,12 @@ Classes:
 @li wxOutputStream
 @li wxFilterInputStream
 @li wxFilterOutputStream
+@li wxFileInputStream
+@li wxFileOutputStream
+@li wxTextInputStream
+@li wxTextOutputStream
+@li wxDataInputStream
+@li wxDataOutputStream
 
 @li @ref overview_stream_intro
 @li @ref overview_stream_example
@@ -27,17 +33,25 @@ Classes:
 
 @section overview_stream_intro Introduction
 
-Standard C++ streams can cause problems on several platforms: they work quite
-well in most cases, but in the multi-threaded case, for example, they have many
-problems. Some Borland compilers refuse to work at all with them.
-@todo is this still true?
+@subsection overview_stream_intro_std wxWidgets and Standard Streams
 
-Besides, using @c std::iostream on Linux makes impossible to write programs that are
-binary compatible across different Linux distributions.
+wxWidgets provides its own set of stream classes in order to support platforms
+not providing standard C++ streams implementation and also to make it possible
+to provide binary versions of wxWidgets application not depending on any
+particular standard library version. The wxWidgets stream classes also provide
+some functionality not available in the standard library such as support for
+several compression formats and possibility to work with sockets or text
+controls (for output only in the latter case).
 
-Therefore, wxStreams have been added to wxWidgets so that an applications can
-reliably compile and run on all supported platforms without dependence on a
-particular release of libg++.
+Nevertheless wxWidgets programs can also use standard stream classes and are
+encouraged to do so if the above considerations don't apply. Moreover,
+wxStdInputStream and wxStdOutputStream classes are provided to provide a degree
+of interoperability between the two and make it possible to use any wxWidgets
+stream as a standard stream (the converse possibility to use a standard stream
+as a wxWidgets stream is planned for a future release).
+
+
+@subsection overview_stream_intro_overview Stream Classes
 
 wxStream classes are divided in two main groups:
 
@@ -45,6 +59,9 @@ wxStream classes are divided in two main groups:
     wxFilterInputStream, wxFilterOutputStream
 @li The "IO" classes: wxSocketInputStream, wxSocketOutputStream,
     wxFileInputStream, wxFileOutputStream, ...
+@li Classes for reading text or binary data from a particular stream
+    such as wxTextInputStream, wxTextOutputStream, wxDataInputStream
+    and wxDataOutputStream
 
 wxStreamBase is the base definition of a stream. It defines, for example, the
 API of OnSysRead(), OnSysWrite(), OnSysSeek() and OnSysTell(). These functions are