[Serialization] Fix bug when serializing an object or an array
This commit is contained in:
parent
a0a4f63847
commit
a147ef411a
|
|
@ -18,10 +18,10 @@ namespace Nz
|
||||||
if (!context.PushObject(name))
|
if (!context.PushObject(name))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!Serialize(context, value, TypeTag<std::decay_t<T>>()))
|
bool bRes = Serialize(context, value, TypeTag<std::decay_t<T>>());
|
||||||
return false;
|
|
||||||
|
|
||||||
return context.PopObject();
|
context.PopObject();
|
||||||
|
return bRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
@ -64,13 +64,15 @@ namespace Nz
|
||||||
if (!context.PushArray(name))
|
if (!context.PushArray(name))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
bool bRes = true;
|
||||||
for (size_t i = 0; i < N; ++i)
|
for (size_t i = 0; i < N; ++i)
|
||||||
{
|
{
|
||||||
if (!Serialize(context, "", values[i]))
|
if (!Serialize(context, "", values[i]))
|
||||||
return false;
|
bRes = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.PopArray();
|
context.PopArray();
|
||||||
|
return bRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T, size_t N>
|
template<typename T, size_t N>
|
||||||
|
|
@ -79,13 +81,15 @@ namespace Nz
|
||||||
if (!context.PushArray(name))
|
if (!context.PushArray(name))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
bool bRes = true;
|
||||||
for (auto&& value : values)
|
for (auto&& value : values)
|
||||||
{
|
{
|
||||||
if (!Serialize(context, "", value))
|
if (!Serialize(context, "", value))
|
||||||
return false;
|
bRes = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.PopArray();
|
context.PopArray();
|
||||||
|
return bRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
|
@ -94,13 +98,15 @@ namespace Nz
|
||||||
if (!context.PushArray(name))
|
if (!context.PushArray(name))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
bool bRes = true;
|
||||||
for (auto&& value : values)
|
for (auto&& value : values)
|
||||||
{
|
{
|
||||||
if (!Serialize(context, "", value))
|
if (!Serialize(context, "", value))
|
||||||
return false;
|
bRes = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.PopArray();
|
context.PopArray();
|
||||||
|
return bRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename E, typename T>
|
template<typename E, typename T>
|
||||||
|
|
@ -109,13 +115,15 @@ namespace Nz
|
||||||
if (!context.PushArray(name))
|
if (!context.PushArray(name))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
bool bRes = true;
|
||||||
for (auto&& value : values)
|
for (auto&& value : values)
|
||||||
{
|
{
|
||||||
if (!Serialize(context, "", value))
|
if (!Serialize(context, "", value))
|
||||||
return false;
|
bRes = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.PopArray();
|
context.PopArray();
|
||||||
|
return bRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
@ -160,10 +168,10 @@ namespace Nz
|
||||||
if (!context.PushObject(name))
|
if (!context.PushObject(name))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!Unserialize(context, value, TypeTag<T>()))
|
bool bRes = Unserialize(context, value, TypeTag<T>());
|
||||||
return false;
|
|
||||||
|
|
||||||
return context.PopObject();
|
context.PopObject();
|
||||||
|
return bRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
@ -209,13 +217,15 @@ namespace Nz
|
||||||
if (!context.PushArray(name))
|
if (!context.PushArray(name))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
bool bRes = true;
|
||||||
for (size_t i = 0; i < N; ++i)
|
for (size_t i = 0; i < N; ++i)
|
||||||
{
|
{
|
||||||
if (!Unserialize(context, "", &(*values[i])))
|
if (!Unserialize(context, "", &(*values[i])))
|
||||||
return false;
|
bRes = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.PopArray();
|
context.PopArray();
|
||||||
|
return bRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T, size_t N>
|
template<typename T, size_t N>
|
||||||
|
|
@ -224,13 +234,15 @@ namespace Nz
|
||||||
if (!context.PushArray(name))
|
if (!context.PushArray(name))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
bool bRes = true;
|
||||||
for (auto&& value : *values)
|
for (auto&& value : *values)
|
||||||
{
|
{
|
||||||
if (!Unserialize(context, "", &value))
|
if (!Unserialize(context, "", &value))
|
||||||
return false;
|
bRes = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.PopArray();
|
context.PopArray();
|
||||||
|
return bRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
|
@ -239,13 +251,15 @@ namespace Nz
|
||||||
if (!context.PushArray(name))
|
if (!context.PushArray(name))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
bool bRes = true;
|
||||||
for (auto&& value : *values)
|
for (auto&& value : *values)
|
||||||
{
|
{
|
||||||
if (!Unserialize(context, "", &value))
|
if (!Unserialize(context, "", &value))
|
||||||
return false;
|
bRes = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.PopArray();
|
context.PopArray();
|
||||||
|
return bRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename E, typename T>
|
template<typename E, typename T>
|
||||||
|
|
@ -254,13 +268,15 @@ namespace Nz
|
||||||
if (!context.PushArray(name))
|
if (!context.PushArray(name))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
bool bRes = true;
|
||||||
for (auto&& value : *values)
|
for (auto&& value : *values)
|
||||||
{
|
{
|
||||||
if (!Unserialize(context, "", &value))
|
if (!Unserialize(context, "", &value))
|
||||||
return false;
|
bRes = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.PopArray();
|
context.PopArray();
|
||||||
|
return bRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue