cereal
A C++11 library for serialization
Static Public Member Functions | List of all members
cereal::detail::RegisterPolymorphicCaster< Base, Derived > Struct Template Reference

Registers a polymorphic casting relation between a Base and Derived type. More...

#include </home/shane/workspace/cereal/include/cereal/details/polymorphic_impl.hpp>

Static Public Member Functions

static PolymorphicCaster const * bind (std::true_type)
 
static PolymorphicCaster const * bind (std::false_type)
 
static PolymorphicCaster const * bind ()
 Performs registration (binding) between Base and Derived. More...
 

Detailed Description

template<class Base, class Derived>
struct cereal::detail::RegisterPolymorphicCaster< Base, Derived >

Registers a polymorphic casting relation between a Base and Derived type.

Forward declaration, see polymorphic_impl.hpp for more information.

Registering a relation allows cereal to properly cast between the two types given runtime type information and void pointers.

Registration happens automatically via cereal::base_class and cereal::virtual_base_class instantiations. For cases where neither is called, see the CEREAL_REGISTER_POLYMORPHIC_RELATION macro

Member Function Documentation

template<class Base , class Derived >
static PolymorphicCaster const* cereal::detail::RegisterPolymorphicCaster< Base, Derived >::bind ( )
inlinestatic

Performs registration (binding) between Base and Derived.

If the type is not polymorphic, nothing will happen


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