RWriteStream is an abstract class that presents the necessary interface for externalising to a stream. When called, the ExternalizeL() member function of a class is passed a reference to a concrete write stream object; for example, an object constructed from a class such as RStoreWriteStream. This allows ExternalizeL() to write the object's data to any stream, regardless of that stream’s concrete implementation.
All data types, including non-class types, can be externalised, although some can only be externalised using the templated stream operator<<.
RWriteStream provides support for externalizing:
TInt, TUint, TReal and TReal64 types.
The content of a descriptor.
The data from an open read stream object, a RReadStream type.
The WriteInt8(), WriteUint8(), WriteInt16() and WriteUint16() member functions allow applications to reduce the size of the stream when TInt and TUint values are guaranteed to be containable within 8 bits and 16 bits.
The write stream interface also allows data to be externalised from a location defined by a pointer and a length. However, this functionality is rarely used by application code.