cereal::detail::InputBindingMap< Archive > Struct Template Reference

A structure holding a map from type name strings to input serializer functions. More...

`#include </build/libcereal-B5G4p0/libcereal-1.1.2/include/cereal/details/polymorphic_impl.hpp>`

## Classes

struct | Serializers
| Struct containing the serializer functions for all pointer types. More...

## Public Types

typedef std::function< void(void *, std::shared_ptr< void > &)> | SharedSerializer
| Shared ptr serializer function. More...
typedef std::function< void(void *, std::unique_ptr< void, EmptyDeleter< void >> &)> | UniqueSerializer
| Unique ptr serializer function.

## Public Attributes

std::map< std::string, Serializers > | map
| A map of serializers for pointers of all registered types.

## Detailed Description

### template<class Archive>
struct cereal::detail::InputBindingMap< Archive >

A structure holding a map from type name strings to input serializer functions.

A static object of this map should be created for each registered archive type, containing entries for every registered type that describe how to properly cast the type to its real type in polymorphic scenarios for shared_ptr, weak_ptr, and unique_ptr.

## Member Typedef Documentation

template<class Archive >

typedef std::function<void(void*, std::shared_ptr<void> & )> cereal::detail::InputBindingMap< Archive >::SharedSerializer

Shared ptr serializer function.

Serializer functions return nothing and take an archive as their first parameter (will be cast properly inside the function, and a shared_ptr (or unique_ptr for the unique case) of any base type. Internally it will properly be loaded and cast to the correct type.

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

- /build/libcereal-B5G4p0/libcereal-1.1.2/include/cereal/details/polymorphic_impl.hpp