fpmas 1.5
Static Public Member Functions | List of all members
fpmas::io::datapack::Serializer< std::unordered_map< K, T, Hash, KeyEq, Alloc > > Struct Template Reference

#include <datapack.h>

Static Public Member Functions

template<typename PackType >
static std::size_t size (const PackType &p, const std::unordered_map< K, T, Hash, KeyEq, Alloc > &map)
 
template<typename PackType >
static void to_datapack (PackType &pack, const std::unordered_map< K, T, Hash, KeyEq, Alloc > &map)
 
template<typename PackType >
static std::unordered_map< K, T, Hash, KeyEq, Alloc > from_datapack (const PackType &pack)
 

Detailed Description

template<typename K, typename T, typename Hash, typename KeyEq, typename Alloc>
struct fpmas::io::datapack::Serializer< std::unordered_map< K, T, Hash, KeyEq, Alloc > >

std::unordered_map Serializer specialization.

Serialization scheme
map.size() item_1.key item_1.value item_2.key item_2.value ... item_n.key item_n.value
Template Parameters
Kkey type
Tvalue type

Member Function Documentation

◆ size()

template<typename K , typename T , typename Hash , typename KeyEq , typename Alloc >
template<typename PackType >
static std::size_t fpmas::io::datapack::Serializer< std::unordered_map< K, T, Hash, KeyEq, Alloc > >::size ( const PackType &  p,
const std::unordered_map< K, T, Hash, KeyEq, Alloc > &  map 
)
inlinestatic

Returns the buffer size required to serialize the specified map, i.e. p.size<std::size_t>()+N where N is the sum of p.size(item) for each item in map.

◆ to_datapack()

template<typename K , typename T , typename Hash , typename KeyEq , typename Alloc >
template<typename PackType >
static void fpmas::io::datapack::Serializer< std::unordered_map< K, T, Hash, KeyEq, Alloc > >::to_datapack ( PackType &  pack,
const std::unordered_map< K, T, Hash, KeyEq, Alloc > &  map 
)
inlinestatic

Serializes map to pack.

Each item is serialized using the PackType::put(const std::pair<K, T>&) method.

Parameters
packdestination BasicObjectPack
mapmap to serialize

◆ from_datapack()

template<typename K , typename T , typename Hash , typename KeyEq , typename Alloc >
template<typename PackType >
static std::unordered_map< K, T, Hash, KeyEq, Alloc > fpmas::io::datapack::Serializer< std::unordered_map< K, T, Hash, KeyEq, Alloc > >::from_datapack ( const PackType &  pack)
inlinestatic

Unserializes a map from pack.

Each item of the map is unserialized using the PackType::get<std::pair<K, T>>() method.

Parameters
packsource BasicObjectPack
Returns
unserialized map

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