Cleaned up and fixed some errors in the Json Parser.

This commit is contained in:
2024-08-15 19:28:30 -07:00
parent 2e705627ac
commit c607b20bad
14 changed files with 241 additions and 253 deletions

View File

@@ -13,55 +13,55 @@ namespace ehs
{
}
Json::Json(const JsonBase& value)
Json::Json(const JsonBase &value)
: value(new JsonBase(value))
{
}
Json::Json(const JsonObj& value)
: value((JsonBase*)new JsonObj(value))
Json::Json(const JsonObj &value)
: value((JsonBase *)new JsonObj(value))
{
}
Json::Json(const JsonArray& value)
: value((JsonBase*)new JsonArray(value))
Json::Json(const JsonArray &value)
: value((JsonBase *)new JsonArray(value))
{
}
Json::Json(const JsonBool& value)
Json::Json(const JsonBool &value)
: value((JsonBase*)new JsonBool(value))
{
}
Json::Json(const JsonNum& value)
: value((JsonBase*)new JsonNum(value))
Json::Json(const JsonNum &value)
: value((JsonBase *)new JsonNum(value))
{
}
Json::Json(const JsonStr& value)
: value((JsonBase*)new JsonStr(value))
Json::Json(const JsonStr &value)
: value((JsonBase *)new JsonStr(value))
{
}
Json::Json(const char* data, const UInt_64 size, const UInt_64 extra)
Json::Json(const char *data, const UInt_64 size, const UInt_64 extra)
: value(nullptr)
{
Parse({data, size}, extra);
}
Json::Json(const Str_8& data, const UInt_64 extra)
Json::Json(const Str_8 &data, const UInt_64 extra)
: value(nullptr)
{
Parse(data, extra);
}
Json::Json(Json&& json) noexcept
Json::Json(Json &&json) noexcept
: value(json.value)
{
json.value = nullptr;
}
Json::Json(const Json& json)
Json::Json(const Json &json)
: value(nullptr)
{
if (!json.value)
@@ -70,19 +70,19 @@ namespace ehs
switch (json.value->GetType())
{
case JsonType::OBJ:
value = (JsonBase*)new JsonObj(*(JsonObj*)json.value);
value = (JsonBase *)new JsonObj(*(JsonObj *)json.value);
break;
case JsonType::ARRAY:
value = (JsonBase*)new JsonArray(*(JsonArray*)json.value);
value = (JsonBase *)new JsonArray(*(JsonArray *)json.value);
break;
case JsonType::BOOL:
value = (JsonBase*)new JsonBool(*(JsonBool*)json.value);
value = (JsonBase *)new JsonBool(*(JsonBool *)json.value);
break;
case JsonType::NUM:
value = (JsonBase*)new JsonNum(*(JsonNum*)json.value);
value = (JsonBase *)new JsonNum(*(JsonNum *)json.value);
break;
case JsonType::STR:
value = (JsonBase*)new JsonStr(*(JsonStr*)json.value);
value = (JsonBase *)new JsonStr(*(JsonStr *)json.value);
break;
default:
value = new JsonBase();
@@ -90,7 +90,7 @@ namespace ehs
}
}
Json& Json::operator=(Json&& json) noexcept
Json& Json::operator=(Json &&json) noexcept
{
if (this == &json)
return *this;
@@ -103,7 +103,7 @@ namespace ehs
return *this;
}
Json& Json::operator=(const Json& json)
Json& Json::operator=(const Json &json)
{
if (this == &json)
return *this;
@@ -117,19 +117,19 @@ namespace ehs
switch (json.value->GetType())
{
case JsonType::OBJ:
value = (JsonBase*)new JsonObj(*(JsonObj*)json.value);
value = (JsonBase *)new JsonObj(*(JsonObj *)json.value);
break;
case JsonType::ARRAY:
value = (JsonBase*)new JsonArray(*(JsonArray*)json.value);
value = (JsonBase *)new JsonArray(*(JsonArray *)json.value);
break;
case JsonType::BOOL:
value = (JsonBase*)new JsonBool(*(JsonBool*)json.value);
value = (JsonBase *)new JsonBool(*(JsonBool *)json.value);
break;
case JsonType::NUM:
value = (JsonBase*)new JsonNum(*(JsonNum*)json.value);
value = (JsonBase *)new JsonNum(*(JsonNum *)json.value);
break;
case JsonType::STR:
value = (JsonBase*)new JsonStr(*(JsonStr*)json.value);
value = (JsonBase *)new JsonStr(*(JsonStr *)json.value);
break;
default:
value = new JsonBase();
@@ -139,12 +139,12 @@ namespace ehs
return *this;
}
JsonBase* Json::GetValue()
JsonBase *Json::GetValue()
{
return value;
}
JsonBase* Json::RetrieveValue(const Str_8& access)
JsonBase *Json::RetrieveValue(const Str_8 &access)
{
if (!value || !access.Size())
return nullptr;
@@ -192,8 +192,8 @@ namespace ehs
Vector<Str_8> Json::ParseAccess(const Str_8& access)
{
bool isIndex = false;
const Char_8* start = &access[0];
const Char_8* end = &access[access.Size() - 1];
const Char_8 *start = &access[0];
const Char_8 *end = &access[access.Size() - 1];
Vector<Str_8> levels(0, 5);
@@ -251,7 +251,7 @@ namespace ehs
return levels;
}
void Json::ParseValue(JsonVar* var, const Char_8** begin, const Char_8* end, const UInt_64 extra)
void Json::ParseValue(JsonVar *var, const Char_8 **begin, const Char_8 *end, const UInt_64 extra)
{
const Char_8* start = nullptr;
bool isStr = false;
@@ -263,7 +263,7 @@ namespace ehs
if (start)
{
if (*begin - start)
((JsonStr*)var->GetValue())->value = Str_8(start, *begin - start);
((JsonStr *)var->GetValue())->value = Str_8(start, *begin - start);
++(*begin);
return;
@@ -312,11 +312,11 @@ namespace ehs
}
}
JsonVar Json::ParseVar(const Char_8** begin, const Char_8* end, const UInt_64 extra)
JsonVar Json::ParseVar(const Char_8 **begin, const Char_8 *end, const UInt_64 extra)
{
JsonVar var;
const Char_8* start = nullptr;
const Char_8 *start = nullptr;
for (; *begin <= end; ++(*begin))
{
@@ -351,7 +351,7 @@ namespace ehs
return var;
}
void Json::ParseObject(JsonObj* obj, const Char_8** begin, const Char_8* end, const UInt_64 extra)
void Json::ParseObject(JsonObj *obj, const Char_8 **begin, const Char_8 *end, const UInt_64 extra)
{
JsonVar var;
do
@@ -361,9 +361,9 @@ namespace ehs
while(obj->AddVar(var));
}
void Json::ParseArray(JsonArray* arr, const Char_8** begin, const Char_8* end, const UInt_64 extra)
void Json::ParseArray(JsonArray *arr, const Char_8 **begin, const Char_8 *end, const UInt_64 extra)
{
const Char_8* start = nullptr;
const Char_8 *start = nullptr;
for (; *begin <= end; ++(*begin))
{
@@ -423,12 +423,12 @@ namespace ehs
}
}
void Json::Parse(const Str_8& data, const UInt_64 extra)
void Json::Parse(const Str_8 &data, const UInt_64 extra)
{
const Char_8* start = nullptr;
const Char_8* end = &data[data.Size() - 1];
const Char_8 *start = nullptr;
const Char_8 *end = &data[data.Size() - 1];
for (const Char_8* i = &data[0]; i <= end; ++i)
for (const Char_8 *i = &data[0]; i <= end; ++i)
{
if (*i == '}' || *i == ']')
{

View File

@@ -29,7 +29,7 @@ namespace ehs
{
}
JsonArray::JsonArray(JsonArray&& ja) noexcept
JsonArray::JsonArray(JsonArray &&ja) noexcept
: JsonBase(ja), size(ja.size), extra(ja.extra), rawSize(ja.rawSize), data(ja.data)
{
ja.size = 0;
@@ -38,7 +38,7 @@ namespace ehs
ja.data = nullptr;
}
JsonArray::JsonArray(const JsonArray& ja)
JsonArray::JsonArray(const JsonArray &ja)
: JsonBase(ja), size(ja.size), extra(ja.extra), rawSize(ja.rawSize), data(new JsonBase*[ja.rawSize])
{
for (UInt_64 i = 0; i < size; ++i)
@@ -46,19 +46,19 @@ namespace ehs
switch (ja.data[i]->GetType())
{
case JsonType::OBJ:
data[i] = (JsonBase*)new JsonObj(*(JsonObj*)ja.data[i]);
data[i] = (JsonBase *)new JsonObj(*(JsonObj *)ja.data[i]);
break;
case JsonType::ARRAY:
data[i] = (JsonBase*)new JsonArray(*(JsonArray*)ja.data[i]);
data[i] = (JsonBase *)new JsonArray(*(JsonArray *)ja.data[i]);
break;
case JsonType::BOOL:
data[i] = (JsonBase*)new JsonBool(*(JsonBool*)ja.data[i]);
data[i] = (JsonBase *)new JsonBool(*(JsonBool *)ja.data[i]);
break;
case JsonType::NUM:
data[i] = (JsonBase*)new JsonNum(*(JsonNum*)ja.data[i]);
data[i] = (JsonBase *)new JsonNum(*(JsonNum *)ja.data[i]);
break;
case JsonType::STR:
data[i] = (JsonBase*)new JsonStr(*(JsonStr*)ja.data[i]);
data[i] = (JsonBase *)new JsonStr(*(JsonStr *)ja.data[i]);
break;
default:
data[i] = new JsonBase();
@@ -67,7 +67,7 @@ namespace ehs
}
}
JsonArray& JsonArray::operator=(JsonArray&& ja) noexcept
JsonArray &JsonArray::operator=(JsonArray &&ja) noexcept
{
if (this == &ja)
return *this;
@@ -88,7 +88,7 @@ namespace ehs
return *this;
}
JsonArray& JsonArray::operator=(const JsonArray& ja)
JsonArray &JsonArray::operator=(const JsonArray &ja)
{
if (this == &ja)
return *this;
@@ -134,7 +134,7 @@ namespace ehs
return data;
}
JsonArray::operator JsonBase**()
JsonArray::operator JsonBase **()
{
return data;
}
@@ -154,12 +154,12 @@ namespace ehs
return size;
}
void JsonArray::Insert(const UInt_64 index, const JsonBase* const value)
void JsonArray::Insert(const UInt_64 index, const JsonBase * const value)
{
if (size + 1 >= rawSize)
rawSize = size + extra;
JsonBase** result = new JsonBase*[rawSize];
JsonBase **result = new JsonBase*[rawSize];
for (UInt_64 i = 0; i < index; ++i)
result[i] = data[i];
@@ -195,12 +195,12 @@ namespace ehs
++size;
}
void JsonArray::Push(const JsonBase* const value)
void JsonArray::Push(const JsonBase * const value)
{
if (size + 1 > rawSize)
{
rawSize = size + extra + 1;
JsonBase** result = new JsonBase*[rawSize];
JsonBase **result = new JsonBase*[rawSize];
for (UInt_64 i = 0; i < size; ++i)
result[i] = data[i];
@@ -257,12 +257,12 @@ namespace ehs
}
}
void JsonArray::Push(const JsonBase& value)
void JsonArray::Push(const JsonBase &value)
{
if (size + 1 > rawSize)
{
rawSize = size + extra + 1;
JsonBase** result = new JsonBase*[rawSize];
JsonBase **result = new JsonBase*[rawSize];
for (UInt_64 i = 0; i < size; ++i)
result[i] = data[i];
@@ -279,17 +279,17 @@ namespace ehs
}
}
void JsonArray::Push(const JsonObj& value)
void JsonArray::Push(const JsonObj &value)
{
if (size + 1 > rawSize)
{
rawSize = size + extra + 1;
JsonBase** result = new JsonBase*[rawSize];
JsonBase **result = new JsonBase*[rawSize];
for (UInt_64 i = 0; i < size; ++i)
result[i] = data[i];
result[size++] = (JsonBase*)new JsonObj(value);
result[size++] = (JsonBase *)new JsonObj(value);
delete[] data;
@@ -297,11 +297,11 @@ namespace ehs
}
else
{
data[size++] = (JsonBase*)new JsonObj(value);
data[size++] = (JsonBase *)new JsonObj(value);
}
}
void JsonArray::Push(const JsonArray& value)
void JsonArray::Push(const JsonArray &value)
{
if (size + 1 > rawSize)
{
@@ -311,7 +311,7 @@ namespace ehs
for (UInt_64 i = 0; i < size; ++i)
result[i] = data[i];
result[size++] = (JsonBase*)new JsonArray(value);
result[size++] = (JsonBase *)new JsonArray(value);
delete[] data;
@@ -319,11 +319,11 @@ namespace ehs
}
else
{
data[size++] = (JsonBase*)new JsonArray(value);
data[size++] = (JsonBase *)new JsonArray(value);
}
}
void JsonArray::Push(const JsonBool& value)
void JsonArray::Push(const JsonBool &value)
{
if (size + 1 > rawSize)
{
@@ -333,7 +333,7 @@ namespace ehs
for (UInt_64 i = 0; i < size; ++i)
result[i] = data[i];
result[size++] = (JsonBase*)new JsonBool(value);
result[size++] = (JsonBase *)new JsonBool(value);
delete[] data;
@@ -341,7 +341,7 @@ namespace ehs
}
else
{
data[size++] = (JsonBase*)new JsonBool(value);
data[size++] = (JsonBase *)new JsonBool(value);
}
}
@@ -355,7 +355,7 @@ namespace ehs
for (UInt_64 i = 0; i < size; ++i)
result[i] = data[i];
result[size++] = (JsonBase*)new JsonBool(value);
result[size++] = (JsonBase *)new JsonBool(value);
delete[] data;
@@ -363,21 +363,21 @@ namespace ehs
}
else
{
data[size++] = (JsonBase*)new JsonBool(value);
data[size++] = (JsonBase *)new JsonBool(value);
}
}
void JsonArray::Push(const JsonNum& value)
void JsonArray::Push(const JsonNum &value)
{
if (size + 1 > rawSize)
{
rawSize = size + extra + 1;
JsonBase** result = new JsonBase*[rawSize];
JsonBase **result = new JsonBase*[rawSize];
for (UInt_64 i = 0; i < size; ++i)
result[i] = data[i];
result[size++] = (JsonBase*)new JsonNum(value);
result[size++] = (JsonBase *)new JsonNum(value);
delete[] data;
@@ -385,7 +385,7 @@ namespace ehs
}
else
{
data[size++] = (JsonBase*)new JsonNum(value);
data[size++] = (JsonBase *)new JsonNum(value);
}
}
@@ -394,12 +394,12 @@ namespace ehs
if (size + 1 > rawSize)
{
rawSize = size + extra + 1;
JsonBase** result = new JsonBase*[rawSize];
JsonBase **result = new JsonBase*[rawSize];
for (UInt_64 i = 0; i < size; ++i)
result[i] = data[i];
result[size++] = (JsonBase*)new JsonNum(value);
result[size++] = (JsonBase *)new JsonNum(value);
delete[] data;
@@ -407,11 +407,11 @@ namespace ehs
}
else
{
data[size++] = (JsonBase*)new JsonNum(value);
data[size++] = (JsonBase *)new JsonNum(value);
}
}
void JsonArray::Push(const JsonStr& value)
void JsonArray::Push(const JsonStr &value)
{
if (size + 1 > rawSize)
{
@@ -421,7 +421,7 @@ namespace ehs
for (UInt_64 i = 0; i < size; ++i)
result[i] = data[i];
result[size++] = (JsonBase*)new JsonStr(value);
result[size++] = (JsonBase *)new JsonStr(value);
delete[] data;
@@ -429,11 +429,11 @@ namespace ehs
}
else
{
data[size++] = (JsonBase*)new JsonStr(value);
data[size++] = (JsonBase *)new JsonStr(value);
}
}
void JsonArray::Push(const Char_8* value, const UInt_64 size)
void JsonArray::Push(const Char_8 *value, const UInt_64 size)
{
if (this->size + 1 > rawSize)
{
@@ -443,7 +443,7 @@ namespace ehs
for (UInt_64 i = 0; i < this->size; ++i)
result[i] = data[i];
result[this->size++] = (JsonBase*)new JsonStr(Str_8(value, size));
result[this->size++] = (JsonBase *)new JsonStr(Str_8(value, size));
delete[] data;
@@ -451,11 +451,11 @@ namespace ehs
}
else
{
data[this->size++] = (JsonBase*)new JsonStr(Str_8(value, size));
data[this->size++] = (JsonBase *)new JsonStr(Str_8(value, size));
}
}
void JsonArray::Push(const Str_8& value)
void JsonArray::Push(const Str_8 &value)
{
if (this->size + 1 > rawSize)
{
@@ -465,7 +465,7 @@ namespace ehs
for (UInt_64 i = 0; i < this->size; ++i)
result[i] = data[i];
result[this->size++] = (JsonBase*)new JsonStr(value);
result[this->size++] = (JsonBase *)new JsonStr(value);
delete[] data;
@@ -473,7 +473,7 @@ namespace ehs
}
else
{
data[this->size++] = (JsonBase*)new JsonStr(value);
data[this->size++] = (JsonBase *)new JsonStr(value);
}
}
@@ -482,7 +482,7 @@ namespace ehs
if (rawSize - --size >= extra * 2)
rawSize -= extra;
JsonBase** result = new JsonBase*[rawSize];
JsonBase **result = new JsonBase*[rawSize];
for (UInt_64 i = 0; i < size; ++i)
result[i] = data[i];

View File

@@ -71,11 +71,6 @@ namespace ehs
return value;
}
JsonNum::operator float&()
{
return value;
}
Str_8 JsonNum::ToStr(const UInt_64 level, const bool compact) const
{
Str_8 result;

View File

@@ -79,12 +79,7 @@ namespace ehs
return *this;
}
JsonObj::operator const JsonVar*() const
{
return vars;
}
JsonObj::operator JsonVar*()
JsonObj::operator JsonVar*() const
{
return vars;
}

View File

@@ -13,17 +13,17 @@ namespace ehs
}
JsonStr::JsonStr(const Char_8* value, const UInt_64 size)
JsonStr::JsonStr(const Char_8 *value, const UInt_64 size)
: JsonBase(JsonType::STR), value(value, size)
{
}
JsonStr::JsonStr(JsonStr&& js) noexcept
JsonStr::JsonStr(JsonStr &&js) noexcept
: JsonBase(js), value(std::move(js.value))
{
}
JsonStr& JsonStr::operator=(JsonStr&& js) noexcept
JsonStr& JsonStr::operator=(JsonStr &&js) noexcept
{
if (this == &js)
return *this;
@@ -40,7 +40,7 @@ namespace ehs
return value;
}
JsonStr::operator Str_8&()
JsonStr::operator Str_8 &()
{
return value;
}

View File

@@ -23,25 +23,25 @@ namespace ehs
{
}
JsonVar::JsonVar(Str_8 id, const JsonBase* const value)
JsonVar::JsonVar(Str_8 id, const JsonBase * const value)
: hashId(id.Hash_64()), id(std::move(id))
{
switch (value->GetType())
{
case JsonType::OBJ:
this->value = (JsonBase*)new JsonObj(*(JsonObj*)value);
this->value = (JsonBase *)new JsonObj(*(JsonObj *)value);
break;
case JsonType::ARRAY:
this->value = (JsonBase*)new JsonArray(*(JsonArray*)value);
this->value = (JsonBase *)new JsonArray(*(JsonArray *)value);
break;
case JsonType::BOOL:
this->value = (JsonBase*)new JsonBool(*(JsonBool*)value);
this->value = (JsonBase *)new JsonBool(*(JsonBool *)value);
break;
case JsonType::NUM:
this->value = (JsonBase*)new JsonNum(*(JsonNum*)value);
this->value = (JsonBase *)new JsonNum(*(JsonNum *)value);
break;
case JsonType::STR:
this->value = (JsonBase*)new JsonStr(*(JsonStr*)value);
this->value = (JsonBase *)new JsonStr(*(JsonStr *)value);
break;
default:
this->value = new JsonBase(JsonType::NULLOBJ);
@@ -49,22 +49,22 @@ namespace ehs
}
}
JsonVar::JsonVar(Str_8 id, const JsonBase& value)
JsonVar::JsonVar(Str_8 id, const JsonBase &value)
: hashId(id.Hash_64()), id(std::move(id)), value(new JsonBase(value))
{
}
JsonVar::JsonVar(Str_8 id, const JsonObj& value)
JsonVar::JsonVar(Str_8 id, const JsonObj &value)
: hashId(id.Hash_64()), id(std::move(id)), value((JsonBase*)new JsonObj(value))
{
}
JsonVar::JsonVar(Str_8 id, const JsonArray& value)
JsonVar::JsonVar(Str_8 id, const JsonArray &value)
: hashId(id.Hash_64()), id(std::move(id)), value((JsonBase*)new JsonArray(value))
{
}
JsonVar::JsonVar(Str_8 id, const JsonBool& value)
JsonVar::JsonVar(Str_8 id, const JsonBool &value)
: hashId(id.Hash_64()), id(std::move(id)), value((JsonBase*)new JsonBool(value))
{
}
@@ -74,7 +74,7 @@ namespace ehs
{
}
JsonVar::JsonVar(Str_8 id, const JsonNum& value)
JsonVar::JsonVar(Str_8 id, const JsonNum &value)
: hashId(id.Hash_64()), id(std::move(id)), value((JsonBase*)new JsonNum(value))
{
}
@@ -144,14 +144,14 @@ namespace ehs
{
}
JsonVar::JsonVar(JsonVar&& var) noexcept
JsonVar::JsonVar(JsonVar &&var) noexcept
: hashId(var.hashId), id(std::move(var.id)), value(var.value)
{
var.hashId = 0;
var.value = nullptr;
}
JsonVar::JsonVar(const JsonVar& var)
JsonVar::JsonVar(const JsonVar &var)
: hashId(var.hashId), id(var.id), value(nullptr)
{
if (!var.value)
@@ -180,7 +180,7 @@ namespace ehs
}
}
JsonVar& JsonVar::operator=(JsonVar&& var) noexcept
JsonVar& JsonVar::operator=(JsonVar &&var) noexcept
{
if (this == &var)
return *this;
@@ -196,7 +196,7 @@ namespace ehs
return *this;
}
JsonVar& JsonVar::operator=(const JsonVar& var)
JsonVar& JsonVar::operator=(const JsonVar &var)
{
if (this == &var)
return *this;
@@ -212,19 +212,19 @@ namespace ehs
switch (var.value->GetType())
{
case JsonType::OBJ:
value = (JsonBase*)new JsonObj(*(JsonObj*)var.value);
value = (JsonBase *)new JsonObj(*(JsonObj *)var.value);
break;
case JsonType::ARRAY:
value = (JsonBase*)new JsonArray(*(JsonArray*)var.value);
value = (JsonBase *)new JsonArray(*(JsonArray *)var.value);
break;
case JsonType::BOOL:
value = (JsonBase*)new JsonBool(*(JsonBool*)var.value);
value = (JsonBase *)new JsonBool(*(JsonBool *)var.value);
break;
case JsonType::NUM:
value = (JsonBase*)new JsonNum(*(JsonNum*)var.value);
value = (JsonBase *)new JsonNum(*(JsonNum *)var.value);
break;
case JsonType::STR:
value = (JsonBase*)new JsonStr(*(JsonStr*)var.value);
value = (JsonBase *)new JsonStr(*(JsonStr *)var.value);
break;
default:
value = new JsonBase();
@@ -244,7 +244,7 @@ namespace ehs
return id;
}
void JsonVar::SetValue(const JsonBase* const newValue)
void JsonVar::SetValue(const JsonBase * const newValue)
{
if (!newValue)
return;
@@ -254,19 +254,19 @@ namespace ehs
switch (newValue->GetType())
{
case JsonType::OBJ:
value = (JsonBase*)new JsonObj(*(JsonObj*)newValue);
value = (JsonBase *)new JsonObj(*(JsonObj *)newValue);
break;
case JsonType::ARRAY:
value = (JsonBase*)new JsonArray(*(JsonArray*)newValue);
value = (JsonBase *)new JsonArray(*(JsonArray *)newValue);
break;
case JsonType::BOOL:
value = (JsonBase*)new JsonBool(*(JsonBool*)newValue);
value = (JsonBase *)new JsonBool(*(JsonBool *)newValue);
break;
case JsonType::NUM:
value = (JsonBase*)new JsonNum(*(JsonNum*)newValue);
value = (JsonBase *)new JsonNum(*(JsonNum *)newValue);
break;
case JsonType::STR:
value = (JsonBase*)new JsonStr(*(JsonStr*)newValue);
value = (JsonBase *)new JsonStr(*(JsonStr *)newValue);
break;
default:
value = new JsonBase();
@@ -274,72 +274,72 @@ namespace ehs
}
}
void JsonVar::SetValue(const JsonBase& newValue)
void JsonVar::SetValue(const JsonBase &newValue)
{
delete value;
value = new JsonBase(newValue);
}
void JsonVar::SetValue(const JsonObj& newValue)
void JsonVar::SetValue(const JsonObj &newValue)
{
delete value;
value = (JsonBase*)new JsonObj(newValue);
value = (JsonBase *)new JsonObj(newValue);
}
void JsonVar::SetValue(const JsonArray& newValue)
void JsonVar::SetValue(const JsonArray &newValue)
{
delete value;
value = (JsonBase*)new JsonArray(newValue);
value = (JsonBase *)new JsonArray(newValue);
}
void JsonVar::SetValue(const JsonBool& newValue)
void JsonVar::SetValue(const JsonBool &newValue)
{
delete value;
value = (JsonBase*)new JsonBool(newValue);
value = (JsonBase *)new JsonBool(newValue);
}
void JsonVar::SetValue(const bool newValue)
{
delete value;
value = (JsonBase*)new JsonBool(newValue);
value = (JsonBase *)new JsonBool(newValue);
}
void JsonVar::SetValue(const JsonNum& newValue)
void JsonVar::SetValue(const JsonNum &newValue)
{
delete value;
value = (JsonBase*)new JsonNum(newValue);
value = (JsonBase *)new JsonNum(newValue);
}
void JsonVar::SetValue(const float newValue)
{
delete value;
value = (JsonBase*)new JsonNum(newValue);
value = (JsonBase *)new JsonNum(newValue);
}
void JsonVar::SetValue(const JsonStr& newValue)
void JsonVar::SetValue(const JsonStr &newValue)
{
delete value;
value = (JsonBase*)new JsonStr(newValue);
value = (JsonBase *)new JsonStr(newValue);
}
void JsonVar::SetValue(const Char_8* newValue, const UInt_64 size)
void JsonVar::SetValue(const Char_8 *newValue, const UInt_64 size)
{
delete value;
value = (JsonBase*)new JsonStr(newValue, size);
value = (JsonBase *)new JsonStr(newValue, size);
}
void JsonVar::SetValue(const Str_8& newValue)
void JsonVar::SetValue(const Str_8 &newValue)
{
delete value;
value = (JsonBase*)new JsonStr(newValue);
value = (JsonBase *)new JsonStr(newValue);
}
const JsonBase* JsonVar::GetValue() const
const JsonBase *JsonVar::GetValue() const
{
return value;
}
JsonBase* JsonVar::GetValue()
JsonBase *JsonVar::GetValue()
{
return value;
}