.TH "cereal::detail::PolymorphicVirtualCaster< Base, Derived >" 3 "Mon Oct 26 2026 20:39:03" "cereal" \" -*- nroff -*- .ad l .nh .SH NAME cereal::detail::PolymorphicVirtualCaster< Base, Derived > \- Strongly typed derivation of \fBPolymorphicCaster\fP\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .PP Inherits \fBcereal::detail::PolymorphicCaster\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBPolymorphicVirtualCaster\fP ()" .br .RI "Inserts an entry in the polymorphic casting map for this pairing\&. " .ti -1c .RI "void const * \fBdowncast\fP (void const *const ptr) const override" .br .RI "Performs the proper downcast with the templated types\&. " .ti -1c .RI "void * \fBupcast\fP (void *const ptr) const override" .br .RI "Performs the proper upcast with the templated types\&. " .ti -1c .RI "std::shared_ptr< void > \fBupcast\fP (std::shared_ptr< void > const &ptr) const override" .br .RI "Performs the proper upcast with the templated types (shared_ptr version)\&. " .in -1c Public Member Functions inherited from \fBcereal::detail::PolymorphicCaster\fP .in +1c .ti -1c .RI "\fBPolymorphicCaster\fP (const PolymorphicCaster &)=default" .br .ti -1c .RI "PolymorphicCaster & \fBoperator=\fP (const PolymorphicCaster &)=default" .br .ti -1c .RI "\fBPolymorphicCaster\fP (PolymorphicCaster &&) \fBCEREAL_NOEXCEPT\fP" .br .ti -1c .RI "PolymorphicCaster & \fBoperator=\fP (PolymorphicCaster &&) \fBCEREAL_NOEXCEPT\fP" .br .in -1c .SH "Detailed Description" .PP .SS "template .br struct cereal::detail::PolymorphicVirtualCaster< Base, Derived >"Strongly typed derivation of \fBPolymorphicCaster\fP\&. .SH "Constructor & Destructor Documentation" .PP .SS "template \fBcereal::detail::PolymorphicVirtualCaster\fP< Base, Derived >::PolymorphicVirtualCaster ()\fR [inline]\fP" .PP 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 .SH "Member Function Documentation" .PP .SS "template void const * \fBcereal::detail::PolymorphicVirtualCaster\fP< Base, Derived >::downcast (void const *const ptr) const\fR [inline]\fP, \fR [override]\fP, \fR [virtual]\fP" .PP Performs the proper downcast with the templated types\&. .PP Implements \fBcereal::detail::PolymorphicCaster\fP\&. .SS "template std::shared_ptr< void > \fBcereal::detail::PolymorphicVirtualCaster\fP< Base, Derived >::upcast (std::shared_ptr< void > const & ptr) const\fR [inline]\fP, \fR [override]\fP, \fR [virtual]\fP" .PP Performs the proper upcast with the templated types (shared_ptr version)\&. .PP Implements \fBcereal::detail::PolymorphicCaster\fP\&. .SS "template void * \fBcereal::detail::PolymorphicVirtualCaster\fP< Base, Derived >::upcast (void *const ptr) const\fR [inline]\fP, \fR [override]\fP, \fR [virtual]\fP" .PP Performs the proper upcast with the templated types\&. .PP Implements \fBcereal::detail::PolymorphicCaster\fP\&. .SH "Author" .PP Generated automatically by Doxygen for cereal from the source code\&.