8#ifndef SEN_CORE_META_ENUM_TRAITS_H
9#define SEN_CORE_META_ENUM_TRAITS_H
40 static void variantToValue(
const Var& var, T& val) { impl::enumVariantToValue<T>(var, val); }
41 [[nodiscard]]
static uint32_t
serializedSize(T val)
noexcept {
return impl::enumSerializedSize<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 enum traits.
Definition enum_traits.h:33
static void read(InputStream &in, T &val)
Definition enum_traits.h:38
static std::string toJsonString(T val)
Definition enum_traits.h:43
static void write(OutputStream &out, T val)
Definition enum_traits.h:37
static void variantToValue(const Var &var, T &val)
Definition enum_traits.h:40
static uint32_t serializedSize(T val) noexcept
Definition enum_traits.h:41
static constexpr bool available
Definition enum_traits.h:34
std::underlying_type_t< T > StorageType
Definition enum_traits.h:35
static void valueToVariant(const T &val, Var &var)
Definition enum_traits.h:39
static void fromJsonString(const std::string &str, T &val)
Definition enum_traits.h:50
Can hold any supported value type. Wraps std::variant to allow recursion and implements some helpers.
Definition var.h:119