Classes Supported by the Serialization Package
The Serialization package has built-in support for the following classes:
The C++ standard collection classes (vector, list, map, set, deque)
The Rogue Wave template collection classes, both pointer-based and value-based
All other Rogue Wave collectable classes with Rogue Wave persistence format
Collectable classes can be streamed out in the Rogue Wave persistence format, or in the format of a particular object stream. To stream a collectable class in Rogue Wave persistence format you only need to include the
RWCollectableIO.h header file and define the macro
RW_DEFINE_COLLECTABLE_AS_STREAMABLE(className) for the class (see
Using Object Streams with RWCollectable-Derived Objects.). Now an object of this class will be embedded within the stream using the Rogue Wave persistence format (regardless of the format of the object stream itself). To stream out a collectable in the format for the object stream you are using you must declare
RW_DECLARE_STREAMABLE_COLLECTABLE and then use the external serialization macros just as you would for a class from any other library (see
Making RWCollectable Objects That Are Also Serializable.).