Rename ArrayRef to JsonArray

This commit is contained in:
Benoit Blanchon
2022-12-19 12:10:58 +01:00
parent 208a22e324
commit 7079aa99d7
15 changed files with 60 additions and 59 deletions

View File

@ -183,8 +183,8 @@ TEST_CASE("Polyfills/type_traits") {
CHECK((is_convertible<JsonPair, JsonVariantConst>::value == false)); CHECK((is_convertible<JsonPair, JsonVariantConst>::value == false));
CHECK((is_convertible<VariantRef, JsonVariantConst>::value == true)); CHECK((is_convertible<VariantRef, JsonVariantConst>::value == true));
CHECK((is_convertible<VariantConstRef, JsonVariantConst>::value == true)); CHECK((is_convertible<VariantConstRef, JsonVariantConst>::value == true));
CHECK((is_convertible<ArrayRef, JsonVariantConst>::value == true)); CHECK((is_convertible<JsonArray, JsonVariantConst>::value == true));
CHECK((is_convertible<ElementProxy<ArrayRef>, JsonVariantConst>::value == CHECK((is_convertible<ElementProxy<JsonArray>, JsonVariantConst>::value ==
true)); true));
CHECK((is_convertible<ArrayConstRef, JsonVariantConst>::value == true)); CHECK((is_convertible<ArrayConstRef, JsonVariantConst>::value == true));
CHECK((is_convertible<ObjectRef, JsonVariantConst>::value == true)); CHECK((is_convertible<ObjectRef, JsonVariantConst>::value == true));

View File

@ -21,15 +21,15 @@
# endif # endif
#endif #endif
#include "ArduinoJson/Array/ArrayRef.hpp" #include "ArduinoJson/Array/JsonArray.hpp"
#include "ArduinoJson/Object/ObjectRef.hpp" #include "ArduinoJson/Object/ObjectRef.hpp"
#include "ArduinoJson/Variant/VariantConstRef.hpp" #include "ArduinoJson/Variant/VariantConstRef.hpp"
#include "ArduinoJson/Document/DynamicJsonDocument.hpp" #include "ArduinoJson/Document/DynamicJsonDocument.hpp"
#include "ArduinoJson/Document/StaticJsonDocument.hpp" #include "ArduinoJson/Document/StaticJsonDocument.hpp"
#include "ArduinoJson/Array/ArrayImpl.hpp"
#include "ArduinoJson/Array/ElementProxy.hpp" #include "ArduinoJson/Array/ElementProxy.hpp"
#include "ArduinoJson/Array/JsonArrayImpl.hpp"
#include "ArduinoJson/Array/Utilities.hpp" #include "ArduinoJson/Array/Utilities.hpp"
#include "ArduinoJson/Collection/CollectionImpl.hpp" #include "ArduinoJson/Collection/CollectionImpl.hpp"
#include "ArduinoJson/Object/MemberProxy.hpp" #include "ArduinoJson/Object/MemberProxy.hpp"
@ -48,7 +48,7 @@
namespace ArduinoJson { namespace ArduinoJson {
typedef ARDUINOJSON_NAMESPACE::ArrayConstRef JsonArrayConst; typedef ARDUINOJSON_NAMESPACE::ArrayConstRef JsonArrayConst;
typedef ARDUINOJSON_NAMESPACE::ArrayRef JsonArray; using ARDUINOJSON_NAMESPACE::JsonArray;
typedef ARDUINOJSON_NAMESPACE::Float JsonFloat; typedef ARDUINOJSON_NAMESPACE::Float JsonFloat;
typedef ARDUINOJSON_NAMESPACE::Integer JsonInteger; typedef ARDUINOJSON_NAMESPACE::Integer JsonInteger;
typedef ARDUINOJSON_NAMESPACE::ObjectConstRef JsonObjectConst; typedef ARDUINOJSON_NAMESPACE::ObjectConstRef JsonObjectConst;

View File

@ -13,7 +13,7 @@ namespace ARDUINOJSON_NAMESPACE {
class ObjectRef; class ObjectRef;
class ArrayConstRef : public VariantOperators<ArrayConstRef> { class ArrayConstRef : public VariantOperators<ArrayConstRef> {
friend class ArrayRef; friend class JsonArray;
friend class VariantAttorney; friend class VariantAttorney;
public: public:

View File

@ -26,7 +26,7 @@ class VariantPtr {
}; };
class ArrayIterator { class ArrayIterator {
friend class ArrayRef; friend class JsonArray;
public: public:
ArrayIterator() : _slot(0) {} ArrayIterator() : _slot(0) {}
@ -80,7 +80,7 @@ class VariantConstPtr {
}; };
class ArrayConstRefIterator { class ArrayConstRefIterator {
friend class ArrayRef; friend class JsonArray;
public: public:
ArrayConstRefIterator() : _slot(0) {} ArrayConstRefIterator() : _slot(0) {}

View File

@ -11,14 +11,14 @@ namespace ARDUINOJSON_NAMESPACE {
class ObjectRef; class ObjectRef;
class ArrayRef : public VariantOperators<ArrayRef> { class JsonArray : public VariantOperators<JsonArray> {
friend class VariantAttorney; friend class VariantAttorney;
public: public:
typedef ArrayIterator iterator; typedef ArrayIterator iterator;
FORCE_INLINE ArrayRef() : _data(0), _pool(0) {} FORCE_INLINE JsonArray() : _data(0), _pool(0) {}
FORCE_INLINE ArrayRef(MemoryPool* pool, CollectionData* data) FORCE_INLINE JsonArray(MemoryPool* pool, CollectionData* data)
: _data(data), _pool(pool) {} : _data(data), _pool(pool) {}
operator VariantRef() { operator VariantRef() {
@ -56,14 +56,14 @@ class ArrayRef : public VariantOperators<ArrayRef> {
return iterator(); return iterator();
} }
// Copy a ArrayRef // Copy a JsonArray
FORCE_INLINE bool set(ArrayConstRef src) const { FORCE_INLINE bool set(ArrayConstRef src) const {
if (!_data || !src._data) if (!_data || !src._data)
return false; return false;
return _data->copyFrom(*src._data, _pool); return _data->copyFrom(*src._data, _pool);
} }
FORCE_INLINE bool operator==(ArrayRef rhs) const { FORCE_INLINE bool operator==(JsonArray rhs) const {
return ArrayConstRef(_data) == ArrayConstRef(rhs._data); return ArrayConstRef(_data) == ArrayConstRef(rhs._data);
} }
@ -88,14 +88,14 @@ class ArrayRef : public VariantOperators<ArrayRef> {
} }
// Returns the element at specified index if the variant is an array. // Returns the element at specified index if the variant is an array.
FORCE_INLINE ElementProxy<ArrayRef> operator[](size_t index) const { FORCE_INLINE ElementProxy<JsonArray> operator[](size_t index) const {
return ElementProxy<ArrayRef>(*this, index); return ElementProxy<JsonArray>(*this, index);
} }
FORCE_INLINE ObjectRef createNestedObject() const; FORCE_INLINE ObjectRef createNestedObject() const;
FORCE_INLINE ArrayRef createNestedArray() const { FORCE_INLINE JsonArray createNestedArray() const {
return add().to<ArrayRef>(); return add().to<JsonArray>();
} }
operator VariantConstRef() const { operator VariantConstRef() const {
@ -140,18 +140,19 @@ class ArrayRef : public VariantOperators<ArrayRef> {
}; };
template <> template <>
struct Converter<ArrayRef> : private VariantAttorney { struct Converter<JsonArray> : private VariantAttorney {
static void toJson(VariantConstRef src, VariantRef dst) { static void toJson(VariantConstRef src, VariantRef dst) {
variantCopyFrom(getData(dst), getData(src), getPool(dst)); variantCopyFrom(getData(dst), getData(src), getPool(dst));
} }
static ArrayRef fromJson(VariantRef src) { static JsonArray fromJson(VariantRef src) {
VariantData* data = getData(src); VariantData* data = getData(src);
MemoryPool* pool = getPool(src); MemoryPool* pool = getPool(src);
return ArrayRef(pool, data != 0 ? data->asArray() : 0); return JsonArray(pool, data != 0 ? data->asArray() : 0);
} }
static InvalidConversion<VariantConstRef, ArrayRef> fromJson(VariantConstRef); static InvalidConversion<VariantConstRef, JsonArray> fromJson(
VariantConstRef);
static bool checkJson(VariantConstRef) { static bool checkJson(VariantConstRef) {
return false; return false;

View File

@ -4,18 +4,18 @@
#pragma once #pragma once
#include <ArduinoJson/Array/ArrayRef.hpp> #include <ArduinoJson/Array/JsonArray.hpp>
#include <ArduinoJson/Object/ObjectRef.hpp> #include <ArduinoJson/Object/ObjectRef.hpp>
namespace ARDUINOJSON_NAMESPACE { namespace ARDUINOJSON_NAMESPACE {
inline ObjectRef ArrayRef::createNestedObject() const { inline ObjectRef JsonArray::createNestedObject() const {
return add().to<ObjectRef>(); return add().to<ObjectRef>();
} }
template <typename TDerived> template <typename TDerived>
inline ArrayRef VariantRefBase<TDerived>::createNestedArray() const { inline JsonArray VariantRefBase<TDerived>::createNestedArray() const {
return add().template to<ArrayRef>(); return add().template to<JsonArray>();
} }
template <typename TDerived> template <typename TDerived>

View File

@ -4,7 +4,7 @@
#pragma once #pragma once
#include <ArduinoJson/Array/ArrayRef.hpp> #include <ArduinoJson/Array/JsonArray.hpp>
#include <ArduinoJson/Document/JsonDocument.hpp> #include <ArduinoJson/Document/JsonDocument.hpp>
namespace ARDUINOJSON_NAMESPACE { namespace ARDUINOJSON_NAMESPACE {
@ -45,13 +45,13 @@ inline bool copyArray(const char* src, size_t, const TDestination& dst) {
// Copy array to a JsonDocument // Copy array to a JsonDocument
template <typename T> template <typename T>
inline bool copyArray(const T& src, JsonDocument& dst) { inline bool copyArray(const T& src, JsonDocument& dst) {
return copyArray(src, dst.to<ArrayRef>()); return copyArray(src, dst.to<JsonArray>());
} }
// Copy a ptr+size array to a JsonDocument // Copy a ptr+size array to a JsonDocument
template <typename T> template <typename T>
inline bool copyArray(const T* src, size_t len, JsonDocument& dst) { inline bool copyArray(const T* src, size_t len, JsonDocument& dst) {
return copyArray(src, len, dst.to<ArrayRef>()); return copyArray(src, len, dst.to<JsonArray>());
} }
// Trivial case form to stop the recursion // Trivial case form to stop the recursion

View File

@ -66,7 +66,7 @@ class BasicJsonDocument : AllocatorOwner<TAllocator>, public JsonDocument {
const T& src, const T& src,
typename enable_if< typename enable_if<
is_same<T, VariantRef>::value || is_same<T, VariantConstRef>::value || is_same<T, VariantRef>::value || is_same<T, VariantConstRef>::value ||
is_same<T, ArrayRef>::value || is_same<T, ArrayConstRef>::value || is_same<T, JsonArray>::value || is_same<T, ArrayConstRef>::value ||
is_same<T, ObjectRef>::value || is_same<T, ObjectRef>::value ||
is_same<T, ObjectConstRef>::value>::type* = 0) is_same<T, ObjectConstRef>::value>::type* = 0)
: JsonDocument(allocPool(src.memoryUsage())) { : JsonDocument(allocPool(src.memoryUsage())) {

View File

@ -83,23 +83,23 @@ class JsonDocument : public VariantOperators<const JsonDocument&> {
return getVariant().template to<T>(); return getVariant().template to<T>();
} }
ArrayRef createNestedArray() { JsonArray createNestedArray() {
return add().to<ArrayRef>(); return add().to<JsonArray>();
} }
// createNestedArray(char*) // createNestedArray(char*)
// createNestedArray(const char*) // createNestedArray(const char*)
// createNestedArray(const __FlashStringHelper*) // createNestedArray(const __FlashStringHelper*)
template <typename TChar> template <typename TChar>
ArrayRef createNestedArray(TChar* key) { JsonArray createNestedArray(TChar* key) {
return operator[](key).template to<ArrayRef>(); return operator[](key).template to<JsonArray>();
} }
// createNestedArray(const std::string&) // createNestedArray(const std::string&)
// createNestedArray(const String&) // createNestedArray(const String&)
template <typename TString> template <typename TString>
ArrayRef createNestedArray(const TString& key) { JsonArray createNestedArray(const TString& key) {
return operator[](key).template to<ArrayRef>(); return operator[](key).template to<JsonArray>();
} }
ObjectRef createNestedObject() { ObjectRef createNestedObject() {

View File

@ -4,32 +4,32 @@
#pragma once #pragma once
#include <ArduinoJson/Array/ArrayRef.hpp> #include <ArduinoJson/Array/JsonArray.hpp>
#include <ArduinoJson/Object/ObjectRef.hpp> #include <ArduinoJson/Object/ObjectRef.hpp>
namespace ARDUINOJSON_NAMESPACE { namespace ARDUINOJSON_NAMESPACE {
template <typename TString> template <typename TString>
inline ArrayRef ObjectRef::createNestedArray(const TString& key) const { inline JsonArray ObjectRef::createNestedArray(const TString& key) const {
return operator[](key).template to<ArrayRef>(); return operator[](key).template to<JsonArray>();
} }
template <typename TChar> template <typename TChar>
inline ArrayRef ObjectRef::createNestedArray(TChar* key) const { inline JsonArray ObjectRef::createNestedArray(TChar* key) const {
return operator[](key).template to<ArrayRef>(); return operator[](key).template to<JsonArray>();
} }
template <typename TDerived> template <typename TDerived>
template <typename TString> template <typename TString>
inline ArrayRef VariantRefBase<TDerived>::createNestedArray( inline JsonArray VariantRefBase<TDerived>::createNestedArray(
const TString& key) const { const TString& key) const {
return operator[](key).template to<ArrayRef>(); return operator[](key).template to<JsonArray>();
} }
template <typename TDerived> template <typename TDerived>
template <typename TChar> template <typename TChar>
inline ArrayRef VariantRefBase<TDerived>::createNestedArray(TChar* key) const { inline JsonArray VariantRefBase<TDerived>::createNestedArray(TChar* key) const {
return operator[](key).template to<ArrayRef>(); return operator[](key).template to<JsonArray>();
} }
template <typename TDerived> template <typename TDerived>

View File

@ -9,7 +9,7 @@
namespace ARDUINOJSON_NAMESPACE { namespace ARDUINOJSON_NAMESPACE {
class ArrayRef; class JsonArray;
class ObjectRef : public VariantOperators<ObjectRef> { class ObjectRef : public VariantOperators<ObjectRef> {
friend class VariantAttorney; friend class VariantAttorney;
@ -128,10 +128,10 @@ class ObjectRef : public VariantOperators<ObjectRef> {
} }
template <typename TString> template <typename TString>
FORCE_INLINE ArrayRef createNestedArray(const TString& key) const; FORCE_INLINE JsonArray createNestedArray(const TString& key) const;
template <typename TChar> template <typename TChar>
FORCE_INLINE ArrayRef createNestedArray(TChar* key) const; FORCE_INLINE JsonArray createNestedArray(TChar* key) const;
template <typename TString> template <typename TString>
ObjectRef createNestedObject(const TString& key) const { ObjectRef createNestedObject(const TString& key) const {

View File

@ -20,7 +20,7 @@
namespace ARDUINOJSON_NAMESPACE { namespace ARDUINOJSON_NAMESPACE {
// Forward declarations. // Forward declarations.
class ArrayRef; class JsonArray;
class ObjectRef; class ObjectRef;
class VariantConstRef : public VariantTag, class VariantConstRef : public VariantTag,

View File

@ -4,7 +4,7 @@
#pragma once #pragma once
#include <ArduinoJson/Array/ArrayRef.hpp> #include <ArduinoJson/Array/JsonArray.hpp>
#include <ArduinoJson/Configuration.hpp> #include <ArduinoJson/Configuration.hpp>
#include <ArduinoJson/Numbers/convertNumber.hpp> #include <ArduinoJson/Numbers/convertNumber.hpp>
#include <ArduinoJson/Numbers/parseNumber.hpp> #include <ArduinoJson/Numbers/parseNumber.hpp>
@ -121,9 +121,9 @@ inline VariantRef VariantRefBase<TDerived>::getOrCreateVariant() const {
template <typename TDerived> template <typename TDerived>
template <typename T> template <typename T>
inline typename enable_if<is_same<T, ArrayRef>::value, ArrayRef>::type inline typename enable_if<is_same<T, JsonArray>::value, JsonArray>::type
VariantRefBase<TDerived>::to() const { VariantRefBase<TDerived>::to() const {
return ArrayRef(getPool(), variantToArray(getOrCreateData())); return JsonArray(getPool(), variantToArray(getOrCreateData()));
} }
template <typename TDerived> template <typename TDerived>

View File

@ -74,9 +74,9 @@ class VariantRefBase : public VariantTag {
// Change the type of the variant // Change the type of the variant
// //
// ArrayRef to<ArrayRef>() // JsonArray to<JsonArray>()
template <typename T> template <typename T>
typename enable_if<is_same<T, ArrayRef>::value, ArrayRef>::type to() const; typename enable_if<is_same<T, JsonArray>::value, JsonArray>::type to() const;
// //
// ObjectRef to<ObjectRef>() // ObjectRef to<ObjectRef>()
template <typename T> template <typename T>
@ -199,7 +199,7 @@ class VariantRefBase : public VariantTag {
data->remove(adaptString(key)); data->remove(adaptString(key));
} }
FORCE_INLINE ArrayRef createNestedArray() const; FORCE_INLINE JsonArray createNestedArray() const;
FORCE_INLINE ObjectRef createNestedObject() const; FORCE_INLINE ObjectRef createNestedObject() const;
FORCE_INLINE ElementProxy<TDerived> operator[](size_t index) const; FORCE_INLINE ElementProxy<TDerived> operator[](size_t index) const;
@ -222,10 +222,10 @@ class VariantRefBase : public VariantTag {
operator[](TChar* key) const; operator[](TChar* key) const;
template <typename TString> template <typename TString>
FORCE_INLINE ArrayRef createNestedArray(const TString& key) const; FORCE_INLINE JsonArray createNestedArray(const TString& key) const;
template <typename TChar> template <typename TChar>
FORCE_INLINE ArrayRef createNestedArray(TChar* key) const; FORCE_INLINE JsonArray createNestedArray(TChar* key) const;
template <typename TString> template <typename TString>
ObjectRef createNestedObject(const TString& key) const; ObjectRef createNestedObject(const TString& key) const;

View File

@ -7,7 +7,7 @@
#include <ArduinoJson/Namespace.hpp> #include <ArduinoJson/Namespace.hpp>
namespace ARDUINOJSON_NAMESPACE { namespace ARDUINOJSON_NAMESPACE {
class ArrayRef; class JsonArray;
class ObjectRef; class ObjectRef;
class VariantRef; class VariantRef;
@ -17,8 +17,8 @@ template <typename T>
struct VariantTo {}; struct VariantTo {};
template <> template <>
struct VariantTo<ArrayRef> { struct VariantTo<JsonArray> {
typedef ArrayRef type; typedef JsonArray type;
}; };
template <> template <>
struct VariantTo<ObjectRef> { struct VariantTo<ObjectRef> {