mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-29 10:17:39 +02:00
Replace VariantPtr
, VariantConstPtr
, JsonPairPtr
, and JsonPairConstPtr
with Ptr<T>
This commit is contained in:
@ -9,21 +9,21 @@
|
||||
|
||||
ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE
|
||||
|
||||
class VariantPtr {
|
||||
template <typename T>
|
||||
class Ptr {
|
||||
public:
|
||||
VariantPtr(detail::ResourceManager* resources, detail::VariantData* data)
|
||||
: variant_(resources, data) {}
|
||||
Ptr(T value) : value_(value) {}
|
||||
|
||||
JsonVariant* operator->() {
|
||||
return &variant_;
|
||||
T* operator->() {
|
||||
return &value_;
|
||||
}
|
||||
|
||||
JsonVariant& operator*() {
|
||||
return variant_;
|
||||
T& operator*() {
|
||||
return value_;
|
||||
}
|
||||
|
||||
private:
|
||||
JsonVariant variant_;
|
||||
T value_;
|
||||
};
|
||||
|
||||
class JsonArrayIterator {
|
||||
@ -38,8 +38,8 @@ class JsonArrayIterator {
|
||||
JsonVariant operator*() const {
|
||||
return JsonVariant(resources_, slot_->data());
|
||||
}
|
||||
VariantPtr operator->() {
|
||||
return VariantPtr(resources_, slot_->data());
|
||||
Ptr<JsonVariant> operator->() {
|
||||
return operator*();
|
||||
}
|
||||
|
||||
bool operator==(const JsonArrayIterator& other) const {
|
||||
@ -65,22 +65,6 @@ class JsonArrayIterator {
|
||||
detail::VariantSlot* slot_;
|
||||
};
|
||||
|
||||
class VariantConstPtr {
|
||||
public:
|
||||
VariantConstPtr(const detail::VariantData* data) : variant_(data) {}
|
||||
|
||||
JsonVariantConst* operator->() {
|
||||
return &variant_;
|
||||
}
|
||||
|
||||
JsonVariantConst& operator*() {
|
||||
return variant_;
|
||||
}
|
||||
|
||||
private:
|
||||
JsonVariantConst variant_;
|
||||
};
|
||||
|
||||
class JsonArrayConstIterator {
|
||||
friend class JsonArray;
|
||||
|
||||
@ -92,8 +76,8 @@ class JsonArrayConstIterator {
|
||||
JsonVariantConst operator*() const {
|
||||
return JsonVariantConst(slot_->data());
|
||||
}
|
||||
VariantConstPtr operator->() {
|
||||
return VariantConstPtr(slot_->data());
|
||||
Ptr<JsonVariantConst> operator->() {
|
||||
return operator*();
|
||||
}
|
||||
|
||||
bool operator==(const JsonArrayConstIterator& other) const {
|
||||
|
@ -9,23 +9,6 @@
|
||||
|
||||
ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE
|
||||
|
||||
class JsonPairPtr {
|
||||
public:
|
||||
JsonPairPtr(detail::ResourceManager* resources, detail::VariantSlot* slot)
|
||||
: pair_(resources, slot) {}
|
||||
|
||||
const JsonPair* operator->() const {
|
||||
return &pair_;
|
||||
}
|
||||
|
||||
const JsonPair& operator*() const {
|
||||
return pair_;
|
||||
}
|
||||
|
||||
private:
|
||||
JsonPair pair_;
|
||||
};
|
||||
|
||||
class JsonObjectIterator {
|
||||
friend class JsonObject;
|
||||
|
||||
@ -39,8 +22,8 @@ class JsonObjectIterator {
|
||||
JsonPair operator*() const {
|
||||
return JsonPair(resources_, slot_);
|
||||
}
|
||||
JsonPairPtr operator->() {
|
||||
return JsonPairPtr(resources_, slot_);
|
||||
Ptr<JsonPair> operator->() {
|
||||
return operator*();
|
||||
}
|
||||
|
||||
bool operator==(const JsonObjectIterator& other) const {
|
||||
@ -66,22 +49,6 @@ class JsonObjectIterator {
|
||||
detail::VariantSlot* slot_;
|
||||
};
|
||||
|
||||
class JsonPairConstPtr {
|
||||
public:
|
||||
JsonPairConstPtr(const detail::VariantSlot* slot) : pair_(slot) {}
|
||||
|
||||
const JsonPairConst* operator->() const {
|
||||
return &pair_;
|
||||
}
|
||||
|
||||
const JsonPairConst& operator*() const {
|
||||
return pair_;
|
||||
}
|
||||
|
||||
private:
|
||||
JsonPairConst pair_;
|
||||
};
|
||||
|
||||
class JsonObjectConstIterator {
|
||||
friend class JsonObject;
|
||||
|
||||
@ -94,8 +61,8 @@ class JsonObjectConstIterator {
|
||||
JsonPairConst operator*() const {
|
||||
return JsonPairConst(slot_);
|
||||
}
|
||||
JsonPairConstPtr operator->() {
|
||||
return JsonPairConstPtr(slot_);
|
||||
Ptr<JsonPairConst> operator->() {
|
||||
return operator*();
|
||||
}
|
||||
|
||||
bool operator==(const JsonObjectConstIterator& other) const {
|
||||
|
Reference in New Issue
Block a user