12#include <boost/serialization/nvp.hpp>
13#include <boost/serialization/split_free.hpp>
15#include <immer/set.hpp>
16#include <immer/set_transient.hpp>
21 template <
class Archive,
class T,
class H,
class E,
class MP>
22 void save(Archive &ar,
const immer::set<T, H, E, MP> &s,
const unsigned int )
25 ar << BOOST_SERIALIZATION_NVP(size);
26 for (
const auto &k : s) {
31 template <
class Archive,
class T,
class H,
class E,
class MP>
32 void load(Archive &ar, immer::set<T, H, E, MP> &s,
const unsigned int )
34 using TransientT =
decltype(s.transient());
35 using SizeT =
decltype(s.size());
40 ar >> BOOST_SERIALIZATION_NVP(size);
42 for (
auto i = SizeT{}; i < size; ++i) {
45 t.insert(std::move(k));
48 assert(size == t.size());
52 template<
class Archive,
class T,
class H,
class E,
class MP>
53 inline void serialize(Archive &ar, immer::set<T, H, E, MP> &s,
const unsigned int version)
55 boost::serialization::split_free(ar, s, version);
Definition immer-array.hpp:18
void load(Archive &ar, immer::array< T, MP > &v, const unsigned int)
Definition immer-array.hpp:35
void serialize(Archive &ar, immer::array< T, MP > &v, const unsigned int version)
Definition immer-array.hpp:58
void save(Archive &ar, const immer::array< T, MP > &v, const unsigned int)
Definition immer-array.hpp:22