8 #ifndef INCLUDED_SDSL_CEREAL
9 #define INCLUDED_SDSL_CEREAL
11 #include <type_traits>
13 #if defined(__has_include)
14 #if __has_include(<cereal/cereal.hpp>)
15 #define SDSL_HAS_CEREAL 1
16 #include <cereal/archives/binary.hpp>
17 #include <cereal/archives/json.hpp>
18 #include <cereal/archives/portable_binary.hpp>
19 #include <cereal/archives/xml.hpp>
20 #include <cereal/cereal.hpp>
21 #include <cereal/details/traits.hpp>
22 #include <cereal/types/memory.hpp>
23 #include <cereal/types/vector.hpp>
27 #ifndef SDSL_HAS_CEREAL
28 #define SDSL_HAS_CEREAL 0
30 #define CEREAL_NVP(X) X
32 #define CEREAL_SERIALIZE_FUNCTION_NAME serialize
33 #define CEREAL_LOAD_FUNCTION_NAME load
34 #define CEREAL_SAVE_FUNCTION_NAME save
35 #define CEREAL_LOAD_MINIMAL_FUNCTION_NAME load_minimal
36 #define CEREAL_SAVE_MINIMAL_FUNCTION_NAME save_minimal
42 template <
typename t1,
typename t2>
48 template <
typename t1,
typename t2>
59 template <
typename t1,
typename t2>
67 template <
typename t1,
typename t2>
void make_nvp(t1 const &, t2 const &)
void make_size_tag(t const &)
t1 binary_data(t1 const &, t2 const &)