cereal
A C++11 library for serialization
Classes | Public Types | Public Attributes | List of all members
cereal::detail::OutputBindingMap< Archive > Struct Template Reference

A structure holding a map from type_indices to output serializer functions. More...

#include </home/shane/workspace/cereal/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 *, void const *, std::type_info const &)> Serializer
 A serializer function. More...
 

Public Attributes

std::map< std::type_index, Serializersmap
 A map of serializers for pointers of all registered types.
 

Detailed Description

template<class Archive>
struct cereal::detail::OutputBindingMap< Archive >

A structure holding a map from type_indices to output 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

◆ Serializer

template<class Archive >
typedef std::function<void(void*, void const *, std::type_info const &)> cereal::detail::OutputBindingMap< Archive >::Serializer

A serializer function.

Serializer functions return nothing and take an archive as their first parameter (will be cast properly inside the function, a pointer to actual data (contents of smart_ptr's get() function) as their second parameter, and the type info of the owning smart_ptr as their final parameter


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