framework
|
#include <framework/serializable/container_type.hpp>
Provides a common interface used to define the types required to properly interpret a container type. A container provides two lists of child types - Specification
, or a formal list of child types, and Children
or a logical list of child types. This division is useful in processing a specification - implementation details may be hidden in Specification
to remove them from consideration when comparing two types, printing the fields present in an object, and so on. See the documentation in serializable
for additional information on how this division is used in practice in the construction of an object.
The default specification provided for this type processes each specification in Specification's
pack_container
in the order it appears. Derived types may suppress this default by setting Default
to false, forcing the generation of a compile time error if an appropriate read or write overload is not present.
Specification | pack_container specifying the formal children of the container |
Children | pack_container specifying the logical children of the container |
Default | flag enabling/disabling default serialization of the container |