limit dv::value templated constructors & refactor

This commit is contained in:
MihailRis
2024-09-19 04:22:57 +03:00
parent 827a09b1d0
commit 4ae141d982
4 changed files with 18 additions and 27 deletions
-19
View File
@@ -5,25 +5,6 @@
#include "util/Buffer.hpp"
namespace dv {
value::value(value_type type) : type(type) {
switch (type) {
case value_type::object:
val.object = std::make_shared<objects::Object>();
break;
case value_type::list:
val.list = std::make_shared<objects::List>();
break;
case value_type::bytes:
val.bytes = nullptr; // no default size
break;
case value_type::string:
val.string = std::make_unique<std::string>("");
break;
default:
break;
}
}
value& value::operator[](const key_t& key) {
check_type(type, value_type::object);
return (*val.object)[key];