Replacing a value now releases the memory

This commit is contained in:
Benoit Blanchon
2018-11-12 18:28:34 +01:00
parent f375459d53
commit 720e6548c7
18 changed files with 335 additions and 132 deletions

View File

@@ -53,19 +53,19 @@ JsonVariant::as() const {
template <typename T>
inline typename enable_if<is_same<T, JsonArray>::value, JsonArray>::type
JsonVariant::to() const {
return JsonArray(_memoryPool, variantToArray(_data));
return JsonArray(_memoryPool, variantToArray(_data, _memoryPool));
}
template <typename T>
typename enable_if<is_same<T, JsonObject>::value, JsonObject>::type
JsonVariant::to() const {
return JsonObject(_memoryPool, variantToObject(_data));
return JsonObject(_memoryPool, variantToObject(_data, _memoryPool));
}
template <typename T>
typename enable_if<is_same<T, JsonVariant>::value, JsonVariant>::type
JsonVariant::to() const {
variantSetNull(_data);
variantSetNull(_data, _memoryPool);
return *this;
}