cereal
A C++11 library for serialization
|
Strongly typed derivation of PolymorphicCaster. More...
#include </build/libcereal-SAfJB3/libcereal-1.3.2+dfsg/include/cereal/details/polymorphic_impl.hpp>
Public Member Functions | |
PolymorphicVirtualCaster () | |
Inserts an entry in the polymorphic casting map for this pairing. More... | |
void const * | downcast (void const *const ptr) const override |
Performs the proper downcast with the templated types. More... | |
void * | upcast (void *const ptr) const override |
Performs the proper upcast with the templated types. More... | |
std::shared_ptr< void > | upcast (std::shared_ptr< void > const &ptr) const override |
Performs the proper upcast with the templated types (shared_ptr version) More... | |
Public Member Functions inherited from cereal::detail::PolymorphicCaster | |
PolymorphicCaster (const PolymorphicCaster &)=default | |
PolymorphicCaster & | operator= (const PolymorphicCaster &)=default |
PolymorphicCaster (PolymorphicCaster &&) CEREAL_NOEXCEPT | |
PolymorphicCaster & | operator= (PolymorphicCaster &&) CEREAL_NOEXCEPT |
virtual void const * | downcast (void const *const ptr) const =0 |
Downcasts to the proper derived type. More... | |
virtual void * | upcast (void *const ptr) const =0 |
Upcast to proper base type. More... | |
virtual std::shared_ptr< void > | upcast (std::shared_ptr< void > const &ptr) const =0 |
Upcast to proper base type, shared_ptr version. More... | |
Strongly typed derivation of PolymorphicCaster.
|
inline |
Inserts an entry in the polymorphic casting map for this pairing.
Creates an explicit mapping between Base and Derived in both upwards and downwards directions, allowing void pointers to either to be properly cast assuming dynamic type information is available
|
inlineoverridevirtual |
Performs the proper downcast with the templated types.
Implements cereal::detail::PolymorphicCaster.
|
inlineoverridevirtual |
Performs the proper upcast with the templated types (shared_ptr version)
Implements cereal::detail::PolymorphicCaster.
|
inlineoverridevirtual |
Performs the proper upcast with the templated types.
Implements cereal::detail::PolymorphicCaster.