8#ifndef SEN_CORE_META_SEQUENCE_TRAITS_H
9#define SEN_CORE_META_SEQUENCE_TRAITS_H
38 static void valueToVariant(
const T& val,
Var& var) { impl::sequenceToVariant<T>(val, var); }
39 static void variantToValue(
const Var& var, T& val) { impl::variantToSequence<T>(var, val); }
40 [[nodiscard]]
static uint32_t
serializedSize(
const T& val)
noexcept {
return impl::sequenceSerializedSize<T>(val); }
66 [[nodiscard]]
static uint32_t
serializedSize(
const T& val)
noexcept {
return impl::arraySerializedSize<T>(val); }
InputStreamTemplate< LittleEndian > InputStream
Definition input_stream.h:84
std::string toJson(const Var &var, int indent=2)
Converts a variant into its Json representation. See https://www.Json.org/Json-en....
Var fromJson(const std::string &str)
Inverse as toJson.
OutputStreamTemplate< LittleEndian > OutputStream
Definition output_stream.h:64
Base class for sequence traits.
Definition sequence_traits.h:59
static void variantToValue(const Var &var, T &val)
Definition sequence_traits.h:65
static uint32_t serializedSize(const T &val) noexcept
Definition sequence_traits.h:66
static void write(OutputStream &out, const T &val)
Definition sequence_traits.h:62
static void valueToVariant(const T &val, Var &var)
Definition sequence_traits.h:64
static void read(InputStream &in, T &val)
Definition sequence_traits.h:63
static std::string toJsonString(const T &val)
Definition sequence_traits.h:68
static constexpr bool available
Definition sequence_traits.h:60
static void fromJsonString(const std::string &str, T &val)
Definition sequence_traits.h:75
Base class for sequence traits.
Definition sequence_traits.h:33
static void valueToVariant(const T &val, Var &var)
Definition sequence_traits.h:38
static std::string toJsonString(const T &val)
Definition sequence_traits.h:42
static constexpr bool available
Definition sequence_traits.h:34
static void variantToValue(const Var &var, T &val)
Definition sequence_traits.h:39
static void fromJsonString(const std::string &str, T &val)
Definition sequence_traits.h:49
static void read(InputStream &in, T &val)
Definition sequence_traits.h:37
static uint32_t serializedSize(const T &val) noexcept
Definition sequence_traits.h:40
static void write(OutputStream &out, const T &val)
Definition sequence_traits.h:36
Can hold any supported value type. Wraps std::variant to allow recursion and implements some helpers.
Definition var.h:119