mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-05 02:51:49 +00:00
limit dv::value templated constructors & refactor
This commit is contained in:
parent
827a09b1d0
commit
4ae141d982
4 changed files with 18 additions and 27 deletions
|
|
@ -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];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue