35#include <unordered_map>
37#include <unordered_set>
41template <
template <
bool>
class Archive,
class T>
bool do_serialize(Archive<false> &
ar, std::vector<T> &v);
42template <
template <
bool>
class Archive,
class T>
bool do_serialize(Archive<true> &
ar, std::vector<T> &v);
44template <
template <
bool>
class Archive,
class T>
bool do_serialize(Archive<false> &
ar, std::deque<T> &v);
45template <
template <
bool>
class Archive,
class T>
bool do_serialize(Archive<true> &
ar, std::deque<T> &v);
47template<
typename K,
typename V>
52 typename std::unordered_map<K, V> &
parent() {
return *
this; }
58template<
typename K,
typename V>
63 typename std::map<K, V> &
parent() {
return *
this; }
69template<
typename K,
typename V>
74 typename std::unordered_multimap<K, V> &
parent() {
return *
this; }
80template <
template <
bool>
class Archive,
class T>
bool do_serialize(Archive<false> &
ar, std::unordered_set<T> &v);
81template <
template <
bool>
class Archive,
class T>
bool do_serialize(Archive<true> &
ar, std::unordered_set<T> &v);
83template <
template <
bool>
class Archive,
class T>
bool do_serialize(Archive<false> &
ar, std::set<T> &v);
84template <
template <
bool>
class Archive,
class T>
bool do_serialize(Archive<true> &
ar, std::set<T> &v);
90 template <
typename T>
void do_reserve(std::vector<T> &c,
size_t N) { c.reserve(N); }
91 template <
typename T>
void do_add(std::vector<T> &c,
T &&e) { c.emplace_back(std::forward<T>(e)); }
93 template <
typename T>
void do_add(std::deque<T> &c,
T &&e) { c.emplace_back(std::forward<T>(e)); }
101 template <
typename T>
void do_add(std::unordered_set<T> &c,
T &&e) { c.insert(std::forward<T>(e)); }
103 template <
typename T>
void do_add(std::set<T> &c,
T &&e) { c.insert(std::forward<T>(e)); }
Definition containers.h:60
std::map< K, V > & parent()
Definition containers.h:63
std::pair< K, V > value_type
Definition containers.h:62
Definition containers.h:49
std::pair< K, V > value_type
Definition containers.h:51
std::unordered_map< K, V > & parent()
Definition containers.h:52
Definition containers.h:71
std::unordered_multimap< K, V > & parent()
Definition containers.h:74
std::pair< K, V > value_type
Definition containers.h:73
binary_archive< false > ar
Definition cold-outputs.cpp:54
bool do_serialize_container(Archive< false > &ar, C &v)
Definition container.h:66
bool do_serialize(Archive< false > &ar, std::vector< T > &v)
Definition containers.h:109
Definition container.h:34
void do_add(std::vector< T > &c, T &&e)
Definition containers.h:91
void do_reserve(C &c, size_t N)
Definition container.h:61
Definition binary_utils.h:36
Simple DSL AAPI based on.