mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-09-25 06:20:54 +02:00
Extract setString()
Before: 9802, 8736, 9630, 12588, 9910 After: 9802, 8718, 9630, 12606, 9880 Target: 9800, 8458, 9634, 12290, 9702
This commit is contained in:
@@ -61,8 +61,7 @@ inline VariantData* ObjectImpl::addMember(TAdaptedString key) {
|
||||
if (!valueSlot)
|
||||
return nullptr;
|
||||
|
||||
VariantImpl keyImpl(keySlot.ptr(), resources_);
|
||||
if (!keyImpl.setString(key))
|
||||
if (!VariantImpl::setString(key, keySlot.ptr(), resources_))
|
||||
return nullptr;
|
||||
|
||||
CollectionImpl::appendPair(keySlot, valueSlot);
|
||||
|
@@ -480,7 +480,14 @@ class VariantImpl {
|
||||
void setRawString(SerializedValue<T> value);
|
||||
|
||||
template <typename TAdaptedString>
|
||||
bool setString(TAdaptedString value);
|
||||
bool setString(TAdaptedString value) {
|
||||
if (!data_)
|
||||
return false;
|
||||
return setString(value, data_, resources_);
|
||||
}
|
||||
|
||||
template <typename TAdaptedString>
|
||||
static bool setString(TAdaptedString value, VariantData*, ResourceManager*);
|
||||
|
||||
size_t size() {
|
||||
if (isObject())
|
||||
|
@@ -19,11 +19,11 @@ inline void VariantImpl::setRawString(SerializedValue<T> value) {
|
||||
}
|
||||
|
||||
template <typename TAdaptedString>
|
||||
inline bool VariantImpl::setString(TAdaptedString value) {
|
||||
ARDUINOJSON_ASSERT(isNull()); // must call clear() first
|
||||
|
||||
if (!data_)
|
||||
return false;
|
||||
inline bool VariantImpl::setString(TAdaptedString value, VariantData* data_,
|
||||
ResourceManager* resources_) {
|
||||
ARDUINOJSON_ASSERT(data_ != nullptr);
|
||||
ARDUINOJSON_ASSERT(data_->type == VariantType::Null);
|
||||
ARDUINOJSON_ASSERT(resources_ != nullptr);
|
||||
|
||||
if (value.isNull())
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user