The Data Streams

The data streams read C++ base types (input streams) and write C++ base types (output streams), such as bool, char, unsigned char, short, and float. They allow operations on a single element or on a group of elements.

For a complete description of the operations supported by the data streams, read about RWDataOutputStream for the data output streams and RWDataInputStream for the data input streams in the SourcePro API Reference. These two classes are the handle classes used to manipulate the data streams.

In addition to the classes described in the common architecture sections, the data streams include the concrete classes shown in Figure 81.

Figure 81. Data output streams

Classes RWDataOutputStreamImp, RWDataOutputStream, RWByteOutputStream, RWCharOutputStream, RWDataInputStreamImp, RWDataInputStream, RWByteInputStream, and RWCharInputStream belong to the common framework.

Classes RWvostream and RWvistream belong to the Essential Tools Module library.

Figure 82. Data input streams

Classes RWDataToByteOutputStreamImp, RWDataToCharOutputStreamImp, RWDataFromByteInputStreamImp, and RWDataFromCharInputStreamImp are abstract classes that implement common functionality for each specific conversion from and to a data stream.

None of the concrete data streams are terminal streaming elements. They require a stream handle when constructed and use this handle as the sink of underlying elements for the output streams or as source of underlying elements for the input streams.

In this section: