X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eb63011d3f99e0e4f97ec6f0e2319bd4deee9b4f..d265ec6b0ebb945f23172f016782141adae33297:/docs/doxygen/overviews/stream.h diff --git a/docs/doxygen/overviews/stream.h b/docs/doxygen/overviews/stream.h index 759c0c903d..683f64f01f 100644 --- a/docs/doxygen/overviews/stream.h +++ b/docs/doxygen/overviews/stream.h @@ -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