2 #include <nlohmann/json.hpp>
24 NLOHMANN_JSON_SERIALIZE_ENUM(
36 if (nlohmann_json_t.dimension.has_value()) {
37 nlohmann_json_j[
"dimension"] = nlohmann_json_t.dimension.value();
39 if (nlohmann_json_t.type.has_value()) {
40 nlohmann_json_j[
"type"] = nlohmann_json_t.type.value();
45 if (nlohmann_json_j.is_string()) {
46 nlohmann_json_t.path = nlohmann_json_j.get<std::string>();
48 nlohmann_json_t.path = nlohmann_json_j[
"path"];
50 if (nlohmann_json_j.contains(
"dimension")) {
51 nlohmann_json_t.dimension = nlohmann_json_j[
"dimension"];
53 if (nlohmann_json_j.contains(
"type")) {
54 nlohmann_json_t.type = nlohmann_json_j[
"type"];
#define WMTK_NLOHMANN_ASSIGN_TYPE_TO_JSON(...)
#define WMTK_NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE,...)
WMTK_NLOHMANN_JSON_FRIEND_TO_JSON_PROTOTYPE(AttributeDescription)
WMTK_NLOHMANN_JSON_FRIEND_FROM_JSON_PROTOTYPE(AttributeDescription)
constexpr PrimitiveType get_primitive_type_from_id(int8_t id)
Get the primitive type corresponding to its unique integer id.
std::optional< PrimitiveType > primitive_type() const
auto operator==(const AttributeDescription &) const -> bool
auto operator<=>(const AttributeDescription &) const -> std::strong_ordering
std::optional< uint8_t > dimension