Name | Use |
---|---|
Intrusive or external serialization | |
RW_DECLARE_FRIEND_CTOR_METHOD (derivedClass, baseClass) | When a derived class has a non-public default constructor, use this macro for each base class that might be streamed in as a polymorphic pointer. Intrusive or external. Put in header file inside the derived class declaration. |
RW_DECLARE_STREAMABLE_PTR_MAP (container) | Declares global serialization operators for streaming maps (associations) of pointers. Intrusive or external. Put in header file outside the class declaration. |
RW_DECLARE_STREAMABLE_PTR_SEQUENCE (container) | Declares global serialization operators for streaming Rogue Wave pointer-based template collections. Intrusive or external. Put in header file outside the class declaration. |
RW_DECLARE_STREAMABLE_STD_MAP (container) | Declares global serialization operators for streaming maps (associations) of Standard C++ Library types. Intrusive or external. Put in header file outside the class declaration. |
RW_DECLARE_STREAMABLE_STD_SEQUENCE (container) | Declares global serialization operators for streaming Standard C++ Library sequences. Intrusive or external. Put in header file outside the class declaration. |
RW_DECLARE_STREAMABLE_VAL_MAP (container) | Declares global serialization operators for streaming maps (associations) of value-based templates. Intrusive or external. Put in header file outside the class declaration. |
RW_DECLARE_STREAMABLE_VAL_SEQUENCE (container) | Declares global serialization operators for streaming Rogue Wave value-based template collections. Intrusive or external. Put in header file outside the class |
RW_DECLARE_STREAMABLE_COLLECTABLE_MAP (container) | Declares global serialization operators for streaming maps (associations) of RWCollectable-based associative collections. Intrusive or external. Put in header file outside the class declaration. |
RW_DECLARE_STREAMABLE_COLLECTABLE_SEQUENCE(container) | Declares global serialization operators for streaming Rogue Wave RWCollectable based collections. Intrusive or external. Put in header file outside the class declaration. |
RW_DEFINE_STREAMABLE_TEMPLATE_POINTER (className) | Defines global serialization operators to provide serialization support for template classes. (For other classes, use RW_DEFINE_STREAMABLE_POINTER in the source file.) |
Intrusive serialization only | |
RW_DECLARE_VIRTUAL_STREAM_FNS (className) | Declares streamContents(), used to add the contents of your object to a virtual stream, and other things. Put in header file inside the class declaration. (For external, use RW_DECLARE_EXTERNAL_STREAM_FNS). |
RW_DECLARE_STREAMABLE_POINTER (className) | Declares global serialization operators, for streaming most class types. Intrusive. Put in header file outside the class declaration. |
RW_DECLARE_STREAMABLE_AS_SELF (className) | Declares class's factory and its registrar. Intrusive. Place in header file outside class declaration. |
RW_DECLARE_STREAMABLE_AS_BASE (className) | Declares class's factory registrar for serialization through base class pointers. Place in header file outside class declaration. |
External serialization only | |
RW_DECLARE_EXTERNAL_STREAM_FNS (className) | Declares streamContents(), used to add the contents of your object to a virtual stream, and other things. (For intrusive, use RW_DECLARE_VIRTUAL_STREAM_FNS.) |
RW_DECLARE_EXTERNAL_STREAMABLE_POINTER(className) | Declares the serialization streaming operators for streaming objects through pointers to class objects. |
RW_DECLARE_EXTERNAL_STREAMABLE_AS_SELF(className) | Declares the factory for the class and declares the factory's registrar. Place in header file outside the class declaration. |
RW_DECLARE_EXTERNAL_STREAMABLE_AS_BASE(className, baseClassName) | Declares the factory registrar for streaming objects through pointers to base classes. Place after the macro above. |
Name | Use |
---|---|
Intrusive or external serialization | |
RW_INPUT_STREAM | Used in custom code to access the object input stream. |
RW_OUTPUT_STREAM | Used in custom code to access the object output stream. |
RW_STREAM_ATTR_GET_SET(attrName, attrType, get, set) | Identifies an attribute of the class to be streamed in terms of a get() and set() function pair. This is useful in external streaming when the internal data member is private but has public get() and set() functions. |
RW_STREAM_ATTR_MEMBER(attrName, memberName) | Identifies a data member as an attribute of the class. If using external streaming, the data member must be public. |
RW_WHEN_INPUT | Used to insert custom code into stream contents that only executes during input operations. |
RW_WHEN_OUTPUT | Used to insert custom code into stream contents that only executes during output operations. |
Intrusive serialization only | |
RW_BEGIN_STREAM_CONTENTS(className) | Starts the streamContents() function. Put in source file for class. (For external, use RW_BEGIN_EXTERNAL_STREAM_CONTENTS.) |
RW_DEFINE_STREAMABLE_AS_BASE (derivedClass, baseClass) | Allows concrete derived types to be streamed out and streamed back in as pointers to their base class. Put in source file for class. (For external, use RW_DEFINE_EXTERNAL_STREAMABLE_AS_BASE.) |
RW_DEFINE_STREAMABLE_AS_SELF (className) | Apply this macro to a class if its instantiations will be serialized as pointers directly to the instantiations. (For external, use RW_DEFINE_EXTERNAL_STREAMABLE_AS_SELF.) Do not use this macro with abstract base classes (See Source File Macros.). |
RW_DEFINE_STREAMABLE_POINTER (className) | Defines the global serialization operators for pointers. Put in source file for class. (For external, use RW_DEFINE_EXTERNAL_STREAMABLE_POINTER. For template classes, use RW_DEFINE_STREAMABLE_TEMPLATE_POINTER in the header file.) |
RW_END_STREAM_CONTENTS | Ends the streamContents() function. Put in source file for class. (For external, use RW_END_EXTERNAL_STREAM_CONTENTS.) |
RW_STREAM_PARENT(parentClass) | For classes derived from a serializable base class. Calls streamContents() on the base class to stream the contents of the base class before streaming the derived class. Put in source file for class. (For external, use RW_STREAM_EXTERNAL_PARENT.) |
External serialization only | |
RW_BEGIN_EXTERNAL_STREAM_CONTENTS (className) | Starts the streamContents() function. Put in separate source file. (For intrusive, use RW_BEGIN_STREAM_CONTENTS.) |
RW_DEFINE_EXTERNAL_STREAMABLE_AS_BASE(derivedClass, baseClass) | Allows concrete derived types to be streamed out and streamed back in as pointers to their base class. Put in separate source file. (For intrusive, use RW_DEFINE_STREAMABLE_AS_BASE.) |
RW_DEFINE_EXTERNAL_STREAMABLE_POINTER (className) | Defines the global serialization operators. Put in separate source file. (For intrusive, use RW_DEFINE_STREAMABLE_POINTER.) |
RW_DEFINE_EXTERNAL_STREAMABLE_AS_SELF (className) | Apply this macro to a class if its instantiations will be serialized as pointers directly to the instantiations. Put in separate source file. (For intrusive, use RW_DEFINE_STREAMABLE_AS_SELF.) |
RW_END_EXTERNAL_STREAM_CONTENTS | Ends the streamContents() function. Put in source file for class. (For intrusive, use RW_END_STREAM_CONTENTS.) |
RW_STREAM_EXTERNAL_PARENT(parentClass) | For classes derived from a serializable base class. Calls streamContents() on the base class to stream the contents of the base class before streaming the derived class. Put in separate source file. (For intrusive, use RW_STREAM_PARENT.) |