forked from bblanchon/ArduinoJson
Fixed copying from JsonObjectConst and JsonArrayConst
This commit is contained in:
@ -96,7 +96,7 @@ class ArrayRef : public ArrayRefBase<CollectionData>, public Visitable {
|
||||
return add().set(value);
|
||||
}
|
||||
// Adds the specified value at the end of the array.
|
||||
FORCE_INLINE bool add(ArrayRef value) const {
|
||||
FORCE_INLINE bool add(ArrayConstRef value) const {
|
||||
return add().set(value);
|
||||
}
|
||||
//
|
||||
@ -150,7 +150,7 @@ class ArrayRef : public ArrayRefBase<CollectionData>, public Visitable {
|
||||
}
|
||||
|
||||
// Copy a ArrayRef
|
||||
FORCE_INLINE bool copyFrom(ArrayRef src) const {
|
||||
FORCE_INLINE bool copyFrom(ArrayConstRef src) const {
|
||||
if (!_data || !src._data) return false;
|
||||
return _data->copyFrom(*src._data, _pool);
|
||||
}
|
||||
|
@ -64,6 +64,10 @@ inline bool VariantRef::set(ArrayRef array) const {
|
||||
return to<ArrayRef>().copyFrom(array);
|
||||
}
|
||||
|
||||
inline bool VariantRef::set(ArrayConstRef array) const {
|
||||
return to<ArrayRef>().copyFrom(array);
|
||||
}
|
||||
|
||||
inline bool VariantRef::set(const ArraySubscript& value) const {
|
||||
return set(value.as<VariantRef>());
|
||||
}
|
||||
@ -72,6 +76,10 @@ inline bool VariantRef::set(ObjectRef object) const {
|
||||
return to<ObjectRef>().copyFrom(object);
|
||||
}
|
||||
|
||||
inline bool VariantRef::set(ObjectConstRef object) const {
|
||||
return to<ObjectRef>().copyFrom(object);
|
||||
}
|
||||
|
||||
template <typename TString>
|
||||
inline bool VariantRef::set(const ObjectSubscript<TString>& value) const {
|
||||
return set(value.template as<VariantRef>());
|
||||
|
@ -203,8 +203,10 @@ class VariantRef : public VariantRefBase<VariantData>,
|
||||
bool set(VariantRef value) const;
|
||||
|
||||
FORCE_INLINE bool set(ArrayRef array) const;
|
||||
FORCE_INLINE bool set(ArrayConstRef array) const;
|
||||
FORCE_INLINE bool set(const ArraySubscript &) const;
|
||||
FORCE_INLINE bool set(ObjectRef object) const;
|
||||
FORCE_INLINE bool set(ObjectConstRef object) const;
|
||||
template <typename TString>
|
||||
FORCE_INLINE bool set(const ObjectSubscript<TString> &) const;
|
||||
|
||||
|
Reference in New Issue
Block a user