|
cereal
A C++11 library for serialization
|
Internal polymorphism support. More...
#include <cereal/details/static_object.hpp>#include <cereal/types/memory.hpp>#include <cereal/types/string.hpp>#include <functional>#include <typeindex>#include <map>Go to the source code of this file.
Classes | |
| struct | cereal::detail::binding_name< T > |
| Binds a compile time type with a user defined string. More... | |
| struct | cereal::detail::OutputBindingMap< Archive > |
| A structure holding a map from type_indices to output serializer functions. More... | |
| struct | cereal::detail::OutputBindingMap< Archive >::Serializers |
| Struct containing the serializer functions for all pointer types. More... | |
| struct | cereal::detail::EmptyDeleter< T > |
| An empty noop deleter. More... | |
| struct | cereal::detail::InputBindingMap< Archive > |
| A structure holding a map from type name strings to input serializer functions. More... | |
| struct | cereal::detail::InputBindingMap< Archive >::Serializers |
| Struct containing the serializer functions for all pointer types. More... | |
| struct | cereal::detail::InputBindingCreator< Archive, T > |
| Creates a binding (map entry) between an input archive type and a polymorphic type. More... | |
| struct | cereal::detail::OutputBindingCreator< Archive, T > |
| Creates a binding (map entry) between an output archive type and a polymorphic type. More... | |
| class | cereal::detail::OutputBindingCreator< Archive, T >::PolymorphicSharedPointerWrapper |
| Holds a properly typed shared_ptr to the polymorphic type. More... | |
| struct | cereal::detail::adl_tag |
| struct | cereal::detail::create_bindings< Archive, T > |
| Causes the static object bindings between an archive type and a serializable type T. More... | |
| struct | cereal::detail::instantiate_function<> |
| When specialized, causes the compiler to instantiate its parameter. More... | |
| struct | cereal::detail::polymorphic_serialization_support< Archive, T > |
| struct | cereal::detail::bind_to_archives< T, Tag > |
| Begins the binding process of a type to all registered archives. More... | |
| struct | cereal::detail::init_binding< T, Tag > |
| Used to hide the static object used to bind T to registered archives. More... | |
Macros | |
| #define | CEREAL_BIND_TO_ARCHIVES(T) |
| Binds a polymorhic type to all registered archives. More... | |
Functions | |
| template<class T , typename BindingTag > | |
| void | cereal::detail::instantiate_polymorphic_binding (T *, int, BindingTag, adl_tag) |
| Base case overload for instantiation. More... | |
Internal polymorphism support.
| #define CEREAL_BIND_TO_ARCHIVES | ( | T | ) |
Binds a polymorhic type to all registered archives.
This binds a polymorphic type to all compatible registered archives that have been registered with CEREAL_REGISTER_ARCHIVE. This must be called after all archives are registered (usually after the archives themselves have been included).
1.8.9.1