framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Protected Member Functions | Protected Attributes | List of all members
framework::serializable::serializable_implementation< Derived, Specification, Inherited, Constructed, Visible, Default > Class Template Reference

Serializable implementation. More...

#include <framework/serializable/serializable.hpp>

Inheritance diagram for framework::serializable::serializable_implementation< Derived, Specification, Inherited, Constructed, Visible, Default >:
framework::protocol_buffers::group< Types > framework::protocol_buffers::message< Types > framework::serializable::inline_object< Types >

Protected Member Functions

 ~serializable_implementation ()=default
 Default destructor.
 
 serializable_implementation ()=default
 Default constructor.
 
template<typename... Args>
 serializable_implementation (Args &&...args)
 Base object constructor. More...
 

Protected Attributes

typedef serializable_base
 

Detailed Description

template<typename Derived, typename Specification, typename Inherited, typename Constructed, typename Visible, bool Default = true>
class framework::serializable::serializable_implementation< Derived, Specification, Inherited, Constructed, Visible, Default >

Serializable implementation.

Implements the serializable object defined by the provided parameters. Object layout is defined by Inherited - each value type in this container is instantiated as

typename get_value_implementation <T, Derived>::type

and publicly inherited in the order they appear.

Template Parameters
Derivedderived class
Specificationused to serialize the object
Inheritedpack_container of value types to inherit
Constructedpack_container of value types participating in the base object constructor
Visiblevalue pack_container of value types exposed through get_visible_names

Constructor & Destructor Documentation

template<typename Derived , typename Specification , typename Inherited , typename Constructed , typename Visible , bool Default = true>
template<typename... Args>
framework::serializable::serializable_implementation< Derived, Specification, Inherited, Constructed, Visible, Default >::serializable_implementation ( Args &&...  args)
protected

Base object constructor.

Passes the argument list to the inherited types specified by Constructed in the order they appear in the pack_container.

Member Data Documentation

template<typename Derived , typename Specification , typename Inherited , typename Constructed , typename Visible , bool Default = true>
typedef framework::serializable::serializable_implementation< Derived, Specification, Inherited, Constructed, Visible, Default >::serializable_base
protected

Convenience typedef provided to derived classes to refer to this base type.


The documentation for this class was generated from the following file: