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

## bind()

template<class Base , class Derived >

static const PolymorphicCaster* 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:

- /home/shane/workspace/cereal/include/cereal/details/polymorphic_impl.hpp