NDDEM
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 <polymorphic_impl.hpp>

Static Public Member Functions

static PolymorphicCaster constbind (std::true_type)
 
static PolymorphicCaster constbind (std::false_type)
 
static PolymorphicCaster constbind ()
 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

◆ bind() [1/3]

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

◆ bind() [2/3]

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

◆ bind() [3/3]

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

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