fix map object
This commit is contained in:
parent
d8ef00e610
commit
5a041e65b8
|
|
@ -121,7 +121,7 @@ struct value_array_t : public value_t {
|
||||||
};
|
};
|
||||||
using value_array = std::unique_ptr<value_array_t>;
|
using value_array = std::unique_ptr<value_array_t>;
|
||||||
|
|
||||||
/*struct value_object_t : public value_t {
|
struct value_object_t : public value_t {
|
||||||
value_object_t() {
|
value_object_t() {
|
||||||
val_obj = std::make_shared<std::map<std::string, value>>();
|
val_obj = std::make_shared<std::map<std::string, value>>();
|
||||||
}
|
}
|
||||||
|
|
@ -130,7 +130,10 @@ using value_array = std::unique_ptr<value_array_t>;
|
||||||
val_obj = v->val_obj;
|
val_obj = v->val_obj;
|
||||||
}
|
}
|
||||||
value_object_t(const std::map<std::string, value> & obj) {
|
value_object_t(const std::map<std::string, value> & obj) {
|
||||||
val_obj = std::make_shared<std::map<std::string, value>>(obj);
|
val_obj = std::make_shared<std::map<std::string, value>>();
|
||||||
|
for (const auto & pair : obj) {
|
||||||
|
(*val_obj)[pair.first] = pair.second->clone();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
virtual std::string type() const override { return "Object"; }
|
virtual std::string type() const override { return "Object"; }
|
||||||
virtual const std::map<std::string, value> & as_object() const override { return *val_obj; }
|
virtual const std::map<std::string, value> & as_object() const override { return *val_obj; }
|
||||||
|
|
@ -140,13 +143,6 @@ using value_array = std::unique_ptr<value_array_t>;
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
using value_object = std::unique_ptr<value_object_t>;*/
|
|
||||||
|
|
||||||
struct value_object_t : public value_t {
|
|
||||||
virtual std::string type() const override { return "TEST"; }
|
|
||||||
virtual bool is_null() const override { return true; }
|
|
||||||
virtual value clone() const override { return std::make_unique<value_object_t>(*this); }
|
|
||||||
};
|
|
||||||
using value_object = std::unique_ptr<value_object_t>;
|
using value_object = std::unique_ptr<value_object_t>;
|
||||||
|
|
||||||
struct value_null_t : public value_t {
|
struct value_null_t : public value_t {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue