The Streams package includes concrete stream classes and a modular framework, which allows streams to be connected to each other to form complex chains of streaming elements.
The Streams package uses the handle-body pattern to allow complex streaming elements to be returned by value. It has two handle classes (input and output) for each stream family, as well as abstract body classes. Applications manipulate streams through their handle classes, which isolate them from concrete stream classes and ensure a uniform interface to any class within a stream family.
For complete information about the Streams package, see Section 2.1.1, "The Streams Package," in the Advanced Tools Module User's Guide.
NOTE -- The Streams package uses elements of the iostreams library differently, depending on which version of iostreams you use. These differences are documented where appropriate.
The hierarchy for the handle classes in the Streams package is illustrated in Figure 2.
The hierarchy for the body classes in the Streams package is illustrated in Figure 3 through Figure 7.
The Streams package contains one global function and three global typedefs, listed below. See Part II, "Global Reference.".
Name | Description |
Global function | |
RWSize | Global typedef for unsigned long |
RWByte | Global typedef for unsigned char |
RWUChar | Global typedef for unsigned short |
Class Name | Description |
A typedef that implements a buffer that can be used with binary input streams. | |
A typedef that implements a buffer that can be used with byte output streams. | |
Implements a buffer that can be used with narrow character input streams. | |
A typedef that implements a buffer that can be used with narrow character output streams. | |
A typedef that implements a buffer that can be used with Unicode character input streams. | |
A typedef that implements a buffer that can be used with Unicode character output streams. | |
A typedef that implements a buffer that can be used with wide character input streams. | |
A typedef that implements a buffer that can be used with wide character output streams. | |
The handle class for binary output streams that support an extended interface, which allows retrieval of their inserted data as a byte array. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for binary output streams that support an extended interface, which allows retrieval of their inserted data as a byte array. Implements the body idiom from the handle-body pattern. | |
Concrete class connecting a binary stream to an iostreams narrow character buffer. Implements the body idiom from the handle-body pattern. | |
Handle class for all the binary input stream implementation classes. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for all the binary input stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Handle class for all the binary output stream implementation classes. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for all the binary output stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Concrete class connecting a binary stream to an iostreams narrow character buffer. Implements the body idiom from the handle-body pattern. | |
Concrete class implementing the byte array output stream interface. Implements the body idiom from the handle-body pattern. | |
Concrete class implementing the narrow character array output stream interface. Implements the body idiom from the handle-body pattern. | |
Implements the iostreams std::streambuf interface. It provides increased performance characteristic because it uses efficient internal data structures and reduces the amount of data copying. Can also be used to store binary data structures and will return the number of bytes currently being stored. RWChainedMemoryStreambuf creates a linked list of buffers, so that data is not copied as the number of characters is increased. | |
Concrete class implementing the Unicode character array output stream interface. Implements the body idiom from the handle-body pattern. | |
Concrete class implementing the wide character array output stream interface. Implements the body idiom from the handle-body pattern. | |
Handle class for narrow character output streams that support an extended interface that allows retrieval of their inserted data as a narrow character array. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for narrow character output streams that support an extended interface that allows retrieval of their inserted data as a character array. Implements the body idiom from the handle-body pattern. | |
Concrete class connecting a narrow character stream, to an iostreams narrow character buffer. Implements the body idiom from the handle-body pattern. | |
Handle class for all the narrow character input stream implementation classes. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for all the narrow character input stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Handle class for all the narrow character output stream implementation classes. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for all the narrow character output stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Concrete class connecting a narrow character stream, to an iostreams narrow character buffer. Implements the body idiom from the handle-body pattern. | |
Abstract base class for all the data from binary conversion input stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Abstract base class for all the data from narrow character conversion input stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Handle class for all the data input stream implementation classes. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for all the data input stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Handle class for all the data output stream implementation classes. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for all the data output stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Abstract base class for all the data to binary conversion output stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Abstract base class for all the data to narrow character conversion output stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Base class for all the stream exceptions that might occur due to an external error. | |
Abstract base class for all the filtered binary input stream implementation classes. | |
Abstract base class for all the filtered binary output stream implementation classes. | |
Abstract base class for all the filtered narrow character input stream implementation classes. | |
Abstract base class for all the filtered narrow character output stream implementation classes. | |
Abstract base class for all the filtered data input stream implementation classes. | |
Abstract base class for all the filtered data output stream implementation classes. | |
Abstract base class for all the filtered Unicode character input stream implementation classes. | |
Abstract base class for all the filtered Unicode output stream implementation classes. | |
Abstract base class for all the filtered wide character input stream implementation classes. | |
Abstract base class for all the filtered wide character output stream implementation classes. | |
This class converts char, RWCString or std::string UTF-8 values to UTF-16. | |
A typedef that implements a simple binary guard input stream. | |
A typedef that implements a simple binary guard output stream. | |
A typedef that implements a simple narrow character guard input stream. | |
A typedef that implements a simple narrow character guard output stream. | |
A typedef that implements a simple data guard input stream. | |
A typedef that implements a simple data guard output stream. | |
A typedef that implements a simple Unicode character guard input stream. | |
A typedef that implements a simple Unicode character guard output stream. | |
A typedef that implements a simple wide character guard input stream. | |
A typedef that implements a simple wide character guard output stream. | |
Exception class used to report an error due to a stream operation partially fulfilled. | |
Abstract base class for all the input stream implementation classes. | |
This class reads data in ascii format from a narrow character stream. | |
This class reads data in native format from a binary stream. | |
This class writes data in native format to a binary stream. | |
This class writes data in ascii format to a narrow character stream. | |
Abstract base class for all the output stream implementation classes. | |
The typedef is an adaptor, which adapts the iostreams std::streambuf interface to the Rogue Wave binary input stream interface. | |
The typedef is an adaptor, which adapts the iostreams std::streambuf interface to the Rogue Wave narrow character input stream interface. | |
The typedef is an adaptor, which adapts the iostreams std::streambuf interface to the Rogue Wave binary output stream interface. | |
The type is an adaptor, which adapts the iostreams std::streambuf interface to the Rogue Wave narrow character output stream interface. | |
Abstract base class for all the stream implementation classes. | |
Implements a simple lock stream that is used with binary input stream. | |
A typedef that implements a simple binary lock output stream. | |
Implements a simple lock stream that is used with narrow character input stream. | |
A typedef that implements a simple narrow character lock output stream. | |
Implements a simple lock stream that is used with data input stream. | |
Implements a simple lock stream that can be used with data output stream. | |
Implements a simple lock stream that is used with Unicode character input stream. | |
A typedef that implements a simple Unicode character lock output stream. | |
Implements a simple lock stream that is used with wide character input stream. | |
A typedef that implements a simple Unicode character lock output stream. | |
Implements a buffer that can be used with any kind of input stream. | |
Implements a simple lock stream that can be used with any kind of input stream. | |
This class converts RWUChar, RWWString, wchar_t or std::wstring UTF16 values to UTF8. | |
Implements a buffer that can be used with any kind of output stream. | |
Implements a simple lock stream that can be used with any kind of output stream. | |
An adaptor class that adapts the iostreams std::streambuf interface to the Rogue Wave binary and narrow character Input Stream interfaces. | |
An adaptor class that adapts the iostreams std::streambuf interface to the Rogue Wave binary and narrow character Output Stream interfaces. | |
Implements a simple guard stream that can be used with any kind of input/output stream. | |
Handle class for Unicode character output streams that support an extended interface that allows retrieval of their inserted data as a Unicode character array. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for Unicode character output streams that support an extended interface that allows retrieval of their inserted data as a Unicode character array. Implements the body idiom from the handle-body pattern. | |
Concrete class connecting a Unicode character stream to a binary stream. Implements the body idiom from the handle-body pattern. | |
Concrete class connecting a Unicode (UTF-16) character stream, to a binary stream using UTF-8. Implements the body idiom from the handle-body pattern. | |
Handle class for all the Unicode character input stream implementation classes. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for all the Unicode character input stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Handle class for all the Unicode character output stream implementation classes. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for all the Unicode output stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Concrete class connecting a Unicode character stream to a binary stream. Implements the body idiom from the handle-body pattern. | |
Concrete class connecting a Unicode character stream to a binary stream using UTF-8. Implements the body idiom from the handle-body pattern. | |
Provides common functionality used to encode and decode UTF-8 sequences. | |
An adaptor class that adapts the Rogue Wave virtual stream interface to the new Rogue Wave Data Input Stream interface. Requests made through the Rogue Wave virtual input stream interface are forwarded to the embedded RWDataInputStream handle. | |
An adaptor class that adapts the Rogue Wave virtual stream interface to the new Rogue Wave Data Output Stream interface. Requests made through the Rogue Wave virtual output stream interface are forwarded to the embedded RWDataOutputStream handle. | |
Handle class for wide character output streams that support an extended interface that allows retrieval of their inserted data as a wide character array. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for wide character output streams that support an extended interface that allows retrieval of their inserted data as a wide character array. Implements the body idiom from the handle-body pattern. | |
Handle class for all the wide character input stream implementation classes. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for all the wide character input stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Handle class for all the wide character output stream implementation classes. Implements the handle idiom from the handle-body pattern. | |
Abstract base class for all the wide character output stream implementation classes. Implements the body idiom from the handle-body pattern. | |
Concrete class connecting a wide character stream to an iostreams wide character buffer. Implements the body idiom from the handle-body pattern. | |
Concrete class connecting a wide character stream to an iostreams wide character buffer. Implements the body idiom from the handle-body pattern. |
© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.