The process of externalising an object involves externalising its data to a stream.

For a class instance, this involves externalising each of its data members and components to a stream. This process is encapsulated by the ExternalizeL() member function of the class.

A class always defines ExternalizeL() as:

void ExternalizeL(RWriteStream& aStream) const;

and uses the write stream interface class RWriteStream.

Note that ExternalizeL() is not virtual and there is no implication that a class that requires an ExternalizeL() function must be derived from any particular base class.