Add CopiedString and LinkedString

This commit is contained in:
Benoit Blanchon
2021-11-22 09:40:20 +01:00
parent b06bbd9d2a
commit 62f9b94ab1
13 changed files with 83 additions and 50 deletions

View File

@@ -331,8 +331,7 @@ class MsgPackDeserializer {
bool readString(VariantData *variant, size_t n) {
if (!readString(n))
return false;
variant->setStringPointer(_stringStorage.save(),
typename TStringStorage::storage_policy());
variant->setString(_stringStorage.save());
return true;
}
@@ -419,8 +418,8 @@ class MsgPackDeserializer {
if (!readKey())
return false;
const char *key = _stringStorage.c_str();
TFilter memberFilter = filter[key];
typename TStringStorage::string_type key = _stringStorage.str();
TFilter memberFilter = filter[key.c_str()];
VariantData *member;
if (memberFilter.allow()) {
@@ -434,7 +433,7 @@ class MsgPackDeserializer {
return false;
}
slot->setKey(key, typename TStringStorage::storage_policy());
slot->setKey(key);
member = slot->data();
} else {