11 #include <boost/serialization/version.hpp>
12 #include <boost/serialization/string.hpp>
13 #include <boost/serialization/split_member.hpp>
15 #include <nlohmann/json.hpp>
16 #include <immer/box.hpp>
34 immer::box<Private> m_d;
40 const json &
get()
const {
return m_d.get().j; }
41 operator json()
const {
return m_d.get().j; }
43 template <
class Archive>
44 void save(Archive &ar, std::uint32_t
const )
const {
48 template <
class Archive>
49 void load(Archive &ar, std::uint32_t
const ) {
52 m_d = immer::box<Private>(
Private{json::parse(std::move(j))});
54 BOOST_SERIALIZATION_SPLIT_MEMBER()
Definition: jsonwrap.hpp:23
JsonWrap()
Definition: jsonwrap.hpp:36
void load(Archive &ar, std::uint32_t const)
Definition: jsonwrap.hpp:49
JsonWrap(const json &j)
Definition: jsonwrap.hpp:38
friend bool operator!=(const JsonWrap &a, const JsonWrap &b)=default
const json & get() const
Definition: jsonwrap.hpp:40
JsonWrap(json &&j)
Definition: jsonwrap.hpp:37
void save(Archive &ar, std::uint32_t const) const
Definition: jsonwrap.hpp:44
friend bool operator==(const JsonWrap &a, const JsonWrap &b)=default
Definition: location.hpp:10
@ Private
Definition: client-model.hpp:41
nlohmann::json json
Definition: jsonwrap.hpp:20
Definition: location.hpp:27
Definition: clientutil.hpp:213
static void from_json(const json &j, Kazv::JsonWrap &w)
Definition: jsonwrap.hpp:70
static void to_json(json &j, Kazv::JsonWrap w)
Definition: jsonwrap.hpp:66