Skip to content

Commit 25942cc

Browse files
committed
CollectionIterator: replace value() with operator* and operator->
1 parent c6fa8c1 commit 25942cc

File tree

6 files changed

+15
-11
lines changed

6 files changed

+15
-11
lines changed

src/ArduinoJson/Array/JsonArrayIterator.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class JsonArrayIterator {
3535
: iterator_(iterator) {}
3636

3737
JsonVariant operator*() {
38-
return JsonVariant(iterator_.value());
38+
return JsonVariant(*iterator_);
3939
}
4040
Ptr<JsonVariant> operator->() {
4141
return operator*();
@@ -67,7 +67,7 @@ class JsonArrayConstIterator {
6767
: iterator_(iterator) {}
6868

6969
JsonVariantConst operator*() const {
70-
return JsonVariantConst(iterator_.value());
70+
return JsonVariantConst(*iterator_);
7171
}
7272
Ptr<JsonVariantConst> operator->() {
7373
return operator*();

src/ArduinoJson/Collection/CollectionImpl.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ inline size_t VariantImpl::nesting() const {
9999
return 0;
100100
size_t maxChildNesting = 0;
101101
for (auto it = createIterator(); !it.done(); it.next()) {
102-
auto childNesting = it.value().nesting();
102+
auto childNesting = it->nesting();
103103
if (childNesting > maxChildNesting)
104104
maxChildNesting = childNesting;
105105
}

src/ArduinoJson/Collection/CollectionIterator.hpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,14 @@ class CollectionIterator {
3030
currentId_ = nextId;
3131
}
3232

33-
const VariantImpl& value() const {
33+
const VariantImpl& operator*() const {
3434
return value_;
3535
}
3636

37+
const VariantImpl* operator->() const {
38+
return &value_;
39+
}
40+
3741
bool done() const {
3842
return value_.isUnbound();
3943
}

src/ArduinoJson/Json/PrettyJsonSerializer.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class PrettyJsonSerializer : public JsonSerializer<TWriter> {
2626
nesting_++;
2727
while (!it.done()) {
2828
indent();
29-
it.value().accept(*this);
29+
it->accept(*this);
3030
it.next();
3131
base::write(it.done() ? "\r\n" : ",\r\n");
3232
}
@@ -48,7 +48,7 @@ class PrettyJsonSerializer : public JsonSerializer<TWriter> {
4848
while (!it.done()) {
4949
if (isKey)
5050
indent();
51-
it.value().accept(*this);
51+
it->accept(*this);
5252
it.next();
5353
if (isKey)
5454
base::write(": ");

src/ArduinoJson/Object/JsonPair.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ class JsonPair {
1717
// INTERNAL USE ONLY
1818
JsonPair(detail::VariantImpl::iterator iterator) {
1919
if (!iterator.done()) {
20-
key_ = iterator.value().asString();
20+
key_ = iterator->asString();
2121
iterator.next();
22-
value_ = JsonVariant(iterator.value());
22+
value_ = JsonVariant(*iterator);
2323
}
2424
}
2525

@@ -44,9 +44,9 @@ class JsonPairConst {
4444
public:
4545
JsonPairConst(detail::VariantImpl::iterator iterator) {
4646
if (!iterator.done()) {
47-
key_ = iterator.value().asString();
47+
key_ = iterator->asString();
4848
iterator.next();
49-
value_ = JsonVariantConst(iterator.value());
49+
value_ = JsonVariantConst(*iterator);
5050
}
5151
}
5252

src/ArduinoJson/Object/ObjectImpl.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ inline VariantImpl::iterator VariantImpl::findKey(TAdaptedString key) const {
3434
return iterator();
3535
bool isKey = true;
3636
for (auto it = createIterator(); !it.done(); it.next()) {
37-
if (isKey && stringEquals(key, adaptString(it.value().asString())))
37+
if (isKey && stringEquals(key, adaptString(it->asString())))
3838
return it;
3939
isKey = !isKey;
4040
}

0 commit comments

Comments
 (0)