add dv::value.object(...), .list(...)

This commit is contained in:
MihailRis
2024-09-15 11:15:37 +03:00
parent a014204d99
commit fa12b9b751
2 changed files with 55 additions and 8 deletions
+28
View File
@@ -228,6 +228,14 @@ namespace dv {
value& operator[](size_t index);
const value& operator[](size_t index) const;
value& object(const key_t& key);
value& list(const key_t& key);
value& object();
value& list();
};
using reference = value&;
@@ -355,4 +363,24 @@ namespace dv {
}
throw std::runtime_error("value is not a list");
}
value& value::object(const key_t& key) {
reference ref = this->operator[](key);
ref = dv::object();
return ref;
}
value& value::list(const key_t& key) {
reference ref = this->operator[](key);
ref = dv::list();
return ref;
}
value& value::object() {
return add(dv::object());
}
value& value::list() {
return add(dv::list());
}
}