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.