12#ifndef __cxz_cereal_ranges_cc_h__
13#define __cxz_cereal_ranges_cc_h__
15#include <cereal/cereal.hpp>
16#include <cereal/types/vector.hpp>
29 template <
class Archive>
36 template <
class Archive>
37 void CRange::save(
Archive&
ar,
const std::uint32_t version)
const
39 CXZ_ASSERT(version == 1u,
"format version = " << version <<
" not supported");
42 ar(cereal::make_nvp(
"size",
mSize));
45 template <
class MetaT>
46 template <
class Archive>
47 void URange<MetaT>::save(
Archive&
ar,
const std::uint32_t version)
const
49 CXZ_ASSERT(version == 1u,
"format version = " << version <<
" not supported");
50 ar(cereal::make_nvp(
"uuid", RB::mId));
51 ar(cereal::make_nvp(
"this", RB::mThis));
52 ar(cereal::make_nvp(
"meta", mSpace));
55 template <
class Archive>
56 void YRange::save(
Archive&
ar,
const std::uint32_t version)
const
58 CXZ_ASSERT(version == 1u,
"format version = " << version <<
" not supported");
61 ar(cereal::make_nvp(
"sub", mRVec));
68 template <
class Archive>
75 template <
class Archive>
76 void CRange::load(
Archive&
ar,
const std::uint32_t version)
78 CXZ_ASSERT(version == 1u,
"format version = " << version <<
" not supported");
81 ar(cereal::make_nvp(
"size",
mSize));
85 template <
class MetaT>
86 template <
class Archive>
87 void URange<MetaT>::load(
Archive&
ar,
const std::uint32_t version)
89 CXZ_ASSERT(version == 1u,
"format version = " << version <<
" not supported");
90 ar(cereal::make_nvp(
"uuid", RB::mId));
91 ar(cereal::make_nvp(
"this", RB::mThis));
92 ar(cereal::make_nvp(
"meta", mSpace));
96 template <
class Archive>
97 void YRange::load(
Archive&
ar,
const std::uint32_t version)
99 CXZ_ASSERT(version == 1u,
"format version = " << version <<
" not supported");
102 ar(cereal::make_nvp(
"sub", mRVec));
#define CXZ_ASSERT(statement, errmsg)
SizeT get(SizeT pos) const
static RangePtr getRegistered(const TypeInfo &info, const RangePtr &r)
CRange and CIndex declaration.
void load(Archive &ar, Uuid &id)
Sptr< RangeBase > RangePtr
Sptr< Range > rangeCast(const RangePtr r)
void save(Archive &ar, const Uuid &id)
URange, URangeFactory and UIndex declaration.
YRange and YIndex declaration.