3#include <score/serialization/JSONVisitor.hpp>
4#include <score/tools/Metadata.hpp>
6#include <ossia/detail/for_each.hpp>
7#include <ossia/detail/variant.hpp>
53 template <
typename TheClass>
58template <
typename TheClass>
65 if(
auto res = ossia::get_if<TheClass>(&var))
88 template <
typename TheClass>
93template <
typename TheClass>
102 var = std::move(data);
105template <
typename... Args>
108 using var_t = ossia::variant<Args...>;
111 s.stream() << (quint64)var.index();
123 ossia::for_each_type<Args...>(
166 template <
typename TheClass>
171template <
typename TheClass>
177 if(
auto res = ossia::get_if<TheClass>(&var))
196 template <
typename TheClass>
201template <
typename TheClass>
212 var = std::move(obj);
217template <
typename... Args>
220 using var_t = ossia::variant<Args...>;
223 s.stream.StartObject();
225 s.stream.EndObject();
230 if(s.base.MemberCount() == 0)
247JSON_METADATA(std::string,
"string")
249JSON_METADATA(
std::uint8_t, "u8")
250JSON_METADATA(
std::uint16_t, "u16")
251JSON_METADATA(
std::uint32_t, "u32")
252JSON_METADATA(
std::uint64_t, "u64")
254JSON_METADATA(
std::int8_t, "i8")
255JSON_METADATA(
std::int16_t, "i16")
256JSON_METADATA(
std::int32_t, "i32")
257JSON_METADATA(
std::int64_t, "i64")
259JSON_METADATA(
std::monostate, "monostate")
260JSON_METADATA(boost::variant2::monostate, "monostate")
Definition VisitorInterface.hpp:53
Definition DataStreamVisitor.hpp:27
void insertDelimiter()
insertDelimiter
Definition DataStreamVisitor.hpp:156
Definition DataStreamVisitor.hpp:202
Definition VisitorInterface.hpp:61
Definition JSONVisitor.hpp:52
Definition JSONVisitor.hpp:423
Definition JSONVisitor.hpp:372
Definition BoostVariant2Serialization.hpp:74
Definition BoostVariant2Serialization.hpp:41
Definition BoostVariant2Serialization.hpp:186
Definition BoostVariant2Serialization.hpp:155
Definition VisitorInterface.hpp:13