Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Advanced Tools Module Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

2.4 Streams Package

2.4.1 Description

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.

2.4.2 Streams Class Hierarchy

2.4.2.1 Handle Classes Hierarchy

The hierarchy for the handle classes in the Streams package is illustrated in Figure 2.

Figure 2: Hierarchy of handle classes for streams

2.4.2.2 Body Classes Hierarchy

The hierarchy for the body classes in the Streams package is illustrated in Figure 3 through Figure 7.

Figure 3: Hierarchy of body classes for streams

Figure 4: Hierarchy of body classes for streams, continued

Figure 5: Hierarchy ofHierarchy of body classes for streams, continued

Figure 6: Hierarchy ofHierarchy of body classes for streams, continued

Figure 7: Hierarchy ofHierarchy of body classes for streams, continued

Figure 8: Hierarchy ofHierarchy of body classes for streams, continued

2.4.2.3 Other Streams Classes Hierarchy

Figure 9: Hierarchy of other streams classes

2.4.3 Index of Streams Classes and Globals

2.4.3.1 Streams package global members

The Streams package contains one global function and three global typedefs, listed below. See Part II, "Global Reference.".

Table 3: Streams package global members

Name Description

rwGuard

Global function

RWSize

Global typedef for unsigned long

RWByte

Global typedef for unsigned char

RWUChar

Global typedef for unsigned short

2.4.3.2 Streams package classes

Table 4: Index of Streams classes 

Class Name Description

RWBufferedByteInputStreamImp

A typedef that implements a buffer that can be used with binary input streams.

RWBufferedByteOutputStreamImp

A typedef that implements a buffer that can be used with byte output streams.

RWBufferedCharInputStreamImp

Implements a buffer that can be used with narrow character input streams.

RWBufferedCharOutputStreamImp

A typedef that implements a buffer that can be used with narrow character output streams.

RWBufferedUCharInputStreamImp

A typedef that implements a buffer that can be used with Unicode character input streams.

RWBufferedUCharOutputStreamImp

A typedef that implements a buffer that can be used with Unicode character output streams.

RWBufferedWCharInputStreamImp

A typedef that implements a buffer that can be used with wide character input streams.

RWBufferedWCharOutputStreamImp

A typedef that implements a buffer that can be used with wide character output streams.

RWByteArrayOutputStream

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.

RWByteArrayOutputStreamImp

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.

RWByteFromStreambufInputStreamImp

Concrete class connecting a binary stream to an iostreams narrow character buffer. Implements the body idiom from the handle-body pattern.

RWByteInputStream

Handle class for all the binary input stream implementation classes. Implements the handle idiom from the handle-body pattern.

RWByteInputStreamImp

Abstract base class for all the binary input stream implementation classes. Implements the body idiom from the handle-body pattern.

RWByteOutputStream

Handle class for all the binary output stream implementation classes. Implements the handle idiom from the handle-body pattern.

RWByteOutputStreamImp

Abstract base class for all the binary output stream implementation classes. Implements the body idiom from the handle-body pattern.

RWByteToStreambufOutputStreamImp

Concrete class connecting a binary stream to an iostreams narrow character buffer. Implements the body idiom from the handle-body pattern.

RWChainedByteArrayOutputStreamImp

Concrete class implementing the byte array output stream interface. Implements the body idiom from the handle-body pattern.

RWChainedCharArrayOutputStreamImp

Concrete class implementing the narrow character array output stream interface. Implements the body idiom from the handle-body pattern.

RWChainedMemoryStreambuf

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.

RWChainedUCharArrayOutputStreamImp

Concrete class implementing the Unicode character array output stream interface. Implements the body idiom from the handle-body pattern.

RWChainedWCharArrayOutputStreamImp

Concrete class implementing the wide character array output stream interface. Implements the body idiom from the handle-body pattern.

RWCharArrayOutputStream

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.

RWCharArrayOutputStreamImp

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.

RWCharFromStreambufInputStreamImp

Concrete class connecting a narrow character stream, to an iostreams narrow character buffer. Implements the body idiom from the handle-body pattern.

RWCharInputStream

Handle class for all the narrow character input stream implementation classes. Implements the handle idiom from the handle-body pattern.

RWCharInputStreamImp

Abstract base class for all the narrow character input stream implementation classes. Implements the body idiom from the handle-body pattern.

RWCharOutputStream

Handle class for all the narrow character output stream implementation classes. Implements the handle idiom from the handle-body pattern.

RWCharOutputStreamImp

Abstract base class for all the narrow character output stream implementation classes. Implements the body idiom from the handle-body pattern.

RWCharToStreambufOutputStreamImp

Concrete class connecting a narrow character stream, to an iostreams narrow character buffer. Implements the body idiom from the handle-body pattern.

RWDataFromByteInputStreamImp

Abstract base class for all the data from binary conversion input stream implementation classes. Implements the body idiom from the handle-body pattern.

RWDataFromCharInputStreamImp

Abstract base class for all the data from narrow character conversion input stream implementation classes. Implements the body idiom from the handle-body pattern.

RWDataInputStream

Handle class for all the data input stream implementation classes. Implements the handle idiom from the handle-body pattern.

RWDataInputStreamImp

Abstract base class for all the data input stream implementation classes. Implements the body idiom from the handle-body pattern.

RWDataOutputStream

Handle class for all the data output stream implementation classes. Implements the handle idiom from the handle-body pattern.

RWDataOutputStreamImp

Abstract base class for all the data output stream implementation classes. Implements the body idiom from the handle-body pattern.

RWDataToByteOutputStreamImp

Abstract base class for all the data to binary conversion output stream implementation classes. Implements the body idiom from the handle-body pattern.

RWDataToCharOutputStreamImp

Abstract base class for all the data to narrow character conversion output stream implementation classes. Implements the body idiom from the handle-body pattern.

RWExternalStreamException

Base class for all the stream exceptions that might occur due to an external error.

RWFilteredByteInputStreamImp

Abstract base class for all the filtered binary input stream implementation classes.

RWFilteredByteOutputStreamImp

Abstract base class for all the filtered binary output stream implementation classes.

RWFilteredCharInputStreamImp

Abstract base class for all the filtered narrow character input stream implementation classes.

RWFilteredCharOutputStreamImp

Abstract base class for all the filtered narrow character output stream implementation classes.

RWFilteredDataInputStreamImp

Abstract base class for all the filtered data input stream implementation classes.

RWFilteredDataOutputStreamImp

Abstract base class for all the filtered data output stream implementation classes.

RWFilteredUCharInputStreamImp

Abstract base class for all the filtered Unicode character input stream implementation classes.

RWFilteredUCharOutputStreamImp

Abstract base class for all the filtered Unicode output stream implementation classes.

RWFilteredWCharInputStreamImp

Abstract base class for all the filtered wide character input stream implementation classes.

RWFilteredWCharOutputStreamImp

Abstract base class for all the filtered wide character output stream implementation classes.

RWFromUTF8Converter

This class converts char, RWCString or std::string UTF-8 values to UTF-16.

RWGuardedByteInputStreamImp

A typedef that implements a simple binary guard input stream.

RWGuardedByteOutputStreamImp

A typedef that implements a simple binary guard output stream.

RWGuardedCharInputStreamImp

A typedef that implements a simple narrow character guard input stream.

RWGuardedCharOutputStreamImp

A typedef that implements a simple narrow character guard output stream.

RWGuardedDataInputStreamImp

A typedef that implements a simple data guard input stream.

RWGuardedDataOutputStreamImp

A typedef that implements a simple data guard output stream.

RWGuardedUCharInputStreamImp

A typedef that implements a simple Unicode character guard input stream.

RWGuardedUCharOutputStreamImp

A typedef that implements a simple Unicode character guard output stream.

RWGuardedWCharInputStreamImp

A typedef that implements a simple wide character guard input stream.

RWGuardedWCharOutputStreamImp

A typedef that implements a simple wide character guard output stream.

RWIncompleteStreamOperation

Exception class used to report an error due to a stream operation partially fulfilled.

RWInputStreamImp

Abstract base class for all the input stream implementation classes.

RWIstreamDataFromCharInputStreamImp

This class reads data in ascii format from a narrow character stream.

RWNativeDataFromByteInputStreamImp

This class reads data in native format from a binary stream.

RWNativeDataToByteOutputStreamImp

This class writes data in native format to a binary stream.

RWOstreamDataToCharOutputStreamImp

This class writes data in ascii format to a narrow character stream.

RWOutputStreamImp

Abstract base class for all the output stream implementation classes.

RWStreambufFromByteInputStream

The typedef is an adaptor, which adapts the iostreams std::streambuf interface to the Rogue Wave binary input stream interface.

RWStreambufFromCharInputStream

The typedef is an adaptor, which adapts the iostreams std::streambuf interface to the Rogue Wave narrow character input stream interface.

RWStreambufToByteOutputStream

The typedef is an adaptor, which adapts the iostreams std::streambuf interface to the Rogue Wave binary output stream interface.

RWStreambufToCharOutputStream

The type is an adaptor, which adapts the iostreams std::streambuf interface to the Rogue Wave narrow character output stream interface.

RWStreamImp

Abstract base class for all the stream implementation classes.

RWSynchronizedByteInputStreamImp

Implements a simple lock stream that is used with binary input stream.

RWSynchronizedByteOutputStreamImp

A typedef that implements a simple binary lock output stream.

RWSynchronizedCharInputStreamImp

Implements a simple lock stream that is used with narrow character input stream.

RWSynchronizedCharOutputStreamImp

A typedef that implements a simple narrow character lock output stream.

RWSynchronizedDataInputStreamImp

Implements a simple lock stream that is used with data input stream.

RWSynchronizedDataOutputStreamImp

Implements a simple lock stream that can be used with data output stream.

RWSynchronizedUCharInputStreamImp

Implements a simple lock stream that is used with Unicode character input stream.

RWSynchronizedUCharOutputStreamImp

A typedef that implements a simple Unicode character lock output stream.

RWSynchronizedWCharInputStreamImp

Implements a simple lock stream that is used with wide character input stream.

RWSynchronizedWCharOutputStreamImp

A typedef that implements a simple Unicode character lock output stream.

RWTInputStreamBufferImp

Implements a buffer that can be used with any kind of input stream.

RWTInputStreamLockImp

Implements a simple lock stream that can be used with any kind of input stream.

RWToUTF8Converter

This class converts RWUChar, RWWString, wchar_t or std::wstring UTF16 values to UTF8.

RWTOutputStreamBufferImp

Implements a buffer that can be used with any kind of output stream.

RWTOutputStreamLockImp

Implements a simple lock stream that can be used with any kind of output stream.

RWTStreambufFromByteCharInputStream

An adaptor class that adapts the iostreams std::streambuf interface to the Rogue Wave binary and narrow character Input Stream interfaces.

RWTStreambufToByteCharOutputStream

An adaptor class that adapts the iostreams std::streambuf interface to the Rogue Wave binary and narrow character Output Stream interfaces.

RWTStreamGuardImp

Implements a simple guard stream that can be used with any kind of input/output stream.

RWUCharArrayOutputStream

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.

RWUCharArrayOutputStreamImp

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.

RWUCharFromByteInputStreamImp

Concrete class connecting a Unicode character stream to a binary stream. Implements the body idiom from the handle-body pattern.

RWUCharFromUTF8ByteInputStreamImp

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.

RWUCharInputStream

Handle class for all the Unicode character input stream implementation classes. Implements the handle idiom from the handle-body pattern.

RWUCharInputStreamImp

Abstract base class for all the Unicode character input stream implementation classes. Implements the body idiom from the handle-body pattern.

RWUCharOutputStream

Handle class for all the Unicode character output stream implementation classes. Implements the handle idiom from the handle-body pattern.

RWUCharOutputStreamImp

Abstract base class for all the Unicode output stream implementation classes. Implements the body idiom from the handle-body pattern.

RWUCharToByteOutputStreamImp

Concrete class connecting a Unicode character stream to a binary stream. Implements the body idiom from the handle-body pattern.

RWUCharToUTF8ByteOutputStreamImp

Concrete class connecting a Unicode character stream to a binary stream using UTF-8. Implements the body idiom from the handle-body pattern.

RWUTF8Helper

Provides common functionality used to encode and decode UTF-8 sequences.

RWvistreamFromDataInputStream

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.

RWvostreamToDataOutputStream

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.

RWWCharArrayOutputStream

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.

RWWCharArrayOutputStreamImp

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.

RWWCharInputStream

Handle class for all the wide character input stream implementation classes. Implements the handle idiom from the handle-body pattern.

RWWCharInputStreamImp

Abstract base class for all the wide character input stream implementation classes. Implements the body idiom from the handle-body pattern.

RWWCharOutputStream

Handle class for all the wide character output stream implementation classes. Implements the handle idiom from the handle-body pattern.

RWWCharOutputStreamImp

Abstract base class for all the wide character output stream implementation classes. Implements the body idiom from the handle-body pattern.

RWWCharFromWStreambufInputStreamImp

Concrete class connecting a wide character stream to an iostreams wide character buffer. Implements the body idiom from the handle-body pattern.

RWWCharToWStreambufOutputStreamImp

Concrete class connecting a wide character stream to an iostreams wide character buffer. Implements the body idiom from the handle-body pattern.



Previous fileTop of DocumentContentsIndex pageNext file

© 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.