Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Advanced Tools Module Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

Serialization Macros

Module:  Advanced Tools   Package:  Serialization


Global Macros

Local Index

Members

Header File

#include <rw/serial/RWObjectStreamMacros.h>

Descriptions

Macro definitions used to define operations that enable objects to be serialized.

While not directly part of object streams, these macros make heavy use of the object streams interface, delegating most of the work of object serialization back to the object stream implementation. Object streams are thus able to control nearly all aspects of object serialization, not just the format of primitive data types like virtual streams.

Some of these macros have positional restrictions with respect to each other. As a general rule of thumb, the RW_XXX_AS_SELF macros come before RW_XXX_AS_BASE macros. For more insight, please see Section 6.4, "Basic Examples," in the Advanced Tools Module User's Guide

RW_BEGIN_EXTERNAL_STREAM_CONTENTS(className)
RW_BEGIN_STREAM_CONTENTS(className)
RW_DECLARE_EXTERNAL_STREAM_FNS(className)
RW_DECLARE_FRIEND_CTOR_METHOD(derivedClass, baseClass)
RW_DECLARE_STREAMABLE_POINTER(className)
RW_DECLARE_STREAMABLE_COLLECTABLE_MAP(container)
RW_DECLARE_STREAMABLE_COLLECTABLE_SEQUENCE(container)
RW_DECLARE_STREAMABLE_PTR_MAP(container)
RW_DECLARE_STREAMABLE_PTR_SEQUENCE(container)
RW_DECLARE_STREAMABLE_STD_MAP(container)
RW_DECLARE_STREAMABLE_STD_SEQUENCE(container)
RW_DECLARE_STREAMABLE_VAL_MAP(container)
RW_DECLARE_STREAMABLE_VAL_SEQUENCE(container)
RW_DECLARE_VIRTUAL_STREAM_FNS(className)
RW_DECLARE_EXTERNAL_STREAMABLE_AS_BASE(derivedClass, baseClass)
RW_DEFINE_EXTERNAL_STREAMABLE_AS_BASE(derivedClass, baseClass)
RW_DECLARE_EXTERNAL_STREAMABLE_POINTER(className)
RW_DEFINE_EXTERNAL_STREAMABLE_POINTER(className)
RW_DECLARE_EXTERNAL_STREAMABLE_AS_SELF(className)
RW_DEFINE_EXTERNAL_STREAMABLE_AS_SELF(className)
RW_DECLARE_STREAMABLE_AS_BASE(derivedClass, baseClass)
RW_DEFINE_STREAMABLE_AS_BASE(derivedClass, baseClass)
RW_DECLARE_STREAMABLE_AS_SELF(className)
RW_DEFINE_STREAMABLE_AS_SELF(className)
RW_DECLARE_STREAMABLE_POINTER(className)
RW_DEFINE_STREAMABLE_POINTER(className)
RW_DEFINE_STREAMABLE_TEMPLATE_AS_SELF(className)
RW_DEFINE_STREAMABLE_TEMPLATE_POINTER(className)
RW_END_STREAM_CONTENTS
RW_INPUT_STREAM
RW_OUTPUT_STREAM
RW_STREAM_ATTR_GET_SET(attrName, attrType, get, set)
RW_STREAM_ATTR_MEMBER(attrName, memberName)
RW_STREAM_EXTERNAL_PARENT(parentClass)
RW_STREAM_PARENT(parentClass)
RW_WHEN_INPUT(body)
RW_WHEN_OUTPUT(body)


Previous fileTop of DocumentContentsIndex pageNext file

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.