This is the declaration of the PersistentOStream class.
PersistentOStream is used to write objects persistently to a stream from which they can be read in again with a PersistentIStream. Pointers to objects of classes derived from PersistentBase may be written out if a static ClassDescription object is present for the class. Also basic types may be written to the stream, as well as containers of pointers to persistent objects and basic types.
The PersistentOStream keeps a list of all pointers to written persistent objects, so that if several pointers to the smame object is written, the object will only be written once.
Each base class of a given object will be asked to write its
members to the stream starting from the least derived class going to
the most derived one. Members may be pointers to other persistent
objects or basic types or containers of these. The output for each
object part should be implemented by specializing the
ClassTraits
CLASS
PersistentOStream