mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-29 10:17:39 +02:00
Swap the parameters of JsonVariant
's constructor
This commit is contained in:
@ -32,8 +32,8 @@ class JsonArray : public detail::VariantOperators<JsonArray> {
|
||||
// https://arduinojson.org/v6/api/jsonvariant/
|
||||
operator JsonVariant() {
|
||||
void* data = data_; // prevent warning cast-align
|
||||
return JsonVariant(resources_,
|
||||
reinterpret_cast<detail::VariantData*>(data));
|
||||
return JsonVariant(reinterpret_cast<detail::VariantData*>(data),
|
||||
resources_);
|
||||
}
|
||||
|
||||
// Returns a read-only reference to the array.
|
||||
@ -46,7 +46,7 @@ class JsonArray : public detail::VariantOperators<JsonArray> {
|
||||
// Returns a reference to the new element.
|
||||
// https://arduinojson.org/v6/api/jsonarray/add/
|
||||
JsonVariant add() const {
|
||||
return JsonVariant(resources_, collectionAddElement(data_, resources_));
|
||||
return JsonVariant(collectionAddElement(data_, resources_), resources_);
|
||||
}
|
||||
|
||||
// Appends a value to the array.
|
||||
|
@ -36,7 +36,7 @@ class JsonArrayIterator {
|
||||
: resources_(resources), slot_(slot) {}
|
||||
|
||||
JsonVariant operator*() const {
|
||||
return JsonVariant(resources_, slot_->data());
|
||||
return JsonVariant(slot_->data(), resources_);
|
||||
}
|
||||
Ptr<JsonVariant> operator->() {
|
||||
return operator*();
|
||||
|
@ -297,7 +297,7 @@ class JsonDocument : public detail::VariantOperators<const JsonDocument&> {
|
||||
// Returns a reference to the new element.
|
||||
// https://arduinojson.org/v6/api/jsondocument/add/
|
||||
FORCE_INLINE JsonVariant add() {
|
||||
return JsonVariant(&resources_, data_.addElement(&resources_));
|
||||
return JsonVariant(data_.addElement(&resources_), &resources_);
|
||||
}
|
||||
|
||||
// Appends a value to the root array.
|
||||
@ -352,7 +352,7 @@ class JsonDocument : public detail::VariantOperators<const JsonDocument&> {
|
||||
|
||||
private:
|
||||
JsonVariant getVariant() {
|
||||
return JsonVariant(&resources_, &data_);
|
||||
return JsonVariant(&data_, &resources_);
|
||||
}
|
||||
|
||||
JsonVariantConst getVariant() const {
|
||||
|
@ -29,8 +29,8 @@ class JsonObject : public detail::VariantOperators<JsonObject> {
|
||||
|
||||
operator JsonVariant() const {
|
||||
void* data = data_; // prevent warning cast-align
|
||||
return JsonVariant(resources_,
|
||||
reinterpret_cast<detail::VariantData*>(data));
|
||||
return JsonVariant(reinterpret_cast<detail::VariantData*>(data),
|
||||
resources_);
|
||||
}
|
||||
|
||||
operator JsonObjectConst() const {
|
||||
|
@ -19,7 +19,7 @@ class JsonPair {
|
||||
if (slot) {
|
||||
key_ = JsonString(slot->key(), slot->ownsKey() ? JsonString::Copied
|
||||
: JsonString::Linked);
|
||||
value_ = JsonVariant(resources, slot->data());
|
||||
value_ = JsonVariant(slot->data(), resources);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@ class JsonVariant : public detail::VariantRefBase<JsonVariant>,
|
||||
JsonVariant() : data_(0), resources_(0) {}
|
||||
|
||||
// INTERNAL USE ONLY
|
||||
JsonVariant(detail::ResourceManager* resources, detail::VariantData* data)
|
||||
JsonVariant(detail::VariantData* data, detail::ResourceManager* resources)
|
||||
: data_(data), resources_(resources) {}
|
||||
|
||||
private:
|
||||
@ -85,19 +85,18 @@ ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
|
||||
|
||||
template <typename TDerived>
|
||||
inline JsonVariant VariantRefBase<TDerived>::add() const {
|
||||
return JsonVariant(
|
||||
getResourceManager(),
|
||||
variantAddElement(getOrCreateData(), getResourceManager()));
|
||||
return JsonVariant(variantAddElement(getOrCreateData(), getResourceManager()),
|
||||
getResourceManager());
|
||||
}
|
||||
|
||||
template <typename TDerived>
|
||||
inline JsonVariant VariantRefBase<TDerived>::getVariant() const {
|
||||
return JsonVariant(getResourceManager(), getData());
|
||||
return JsonVariant(getData(), getResourceManager());
|
||||
}
|
||||
|
||||
template <typename TDerived>
|
||||
inline JsonVariant VariantRefBase<TDerived>::getOrCreateVariant() const {
|
||||
return JsonVariant(getResourceManager(), getOrCreateData());
|
||||
return JsonVariant(getOrCreateData(), getResourceManager());
|
||||
}
|
||||
|
||||
template <typename TDerived>
|
||||
|
Reference in New Issue
Block a user