mirror of
				https://github.com/bblanchon/ArduinoJson.git
				synced 2025-11-04 00:21:36 +01: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