CollectionIterator: replace value() with operator* and operator->

This commit is contained in:
Benoit Blanchon
2025-07-11 18:24:51 +02:00
parent c6fa8c1c1f
commit 25942cce2d
6 changed files with 15 additions and 11 deletions

View File

@ -35,7 +35,7 @@ class JsonArrayIterator {
: iterator_(iterator) {}
JsonVariant operator*() {
return JsonVariant(iterator_.value());
return JsonVariant(*iterator_);
}
Ptr<JsonVariant> operator->() {
return operator*();
@ -67,7 +67,7 @@ class JsonArrayConstIterator {
: iterator_(iterator) {}
JsonVariantConst operator*() const {
return JsonVariantConst(iterator_.value());
return JsonVariantConst(*iterator_);
}
Ptr<JsonVariantConst> operator->() {
return operator*();

View File

@ -99,7 +99,7 @@ inline size_t VariantImpl::nesting() const {
return 0;
size_t maxChildNesting = 0;
for (auto it = createIterator(); !it.done(); it.next()) {
auto childNesting = it.value().nesting();
auto childNesting = it->nesting();
if (childNesting > maxChildNesting)
maxChildNesting = childNesting;
}

View File

@ -30,10 +30,14 @@ class CollectionIterator {
currentId_ = nextId;
}
const VariantImpl& value() const {
const VariantImpl& operator*() const {
return value_;
}
const VariantImpl* operator->() const {
return &value_;
}
bool done() const {
return value_.isUnbound();
}

View File

@ -26,7 +26,7 @@ class PrettyJsonSerializer : public JsonSerializer<TWriter> {
nesting_++;
while (!it.done()) {
indent();
it.value().accept(*this);
it->accept(*this);
it.next();
base::write(it.done() ? "\r\n" : ",\r\n");
}
@ -48,7 +48,7 @@ class PrettyJsonSerializer : public JsonSerializer<TWriter> {
while (!it.done()) {
if (isKey)
indent();
it.value().accept(*this);
it->accept(*this);
it.next();
if (isKey)
base::write(": ");

View File

@ -17,9 +17,9 @@ class JsonPair {
// INTERNAL USE ONLY
JsonPair(detail::VariantImpl::iterator iterator) {
if (!iterator.done()) {
key_ = iterator.value().asString();
key_ = iterator->asString();
iterator.next();
value_ = JsonVariant(iterator.value());
value_ = JsonVariant(*iterator);
}
}
@ -44,9 +44,9 @@ class JsonPairConst {
public:
JsonPairConst(detail::VariantImpl::iterator iterator) {
if (!iterator.done()) {
key_ = iterator.value().asString();
key_ = iterator->asString();
iterator.next();
value_ = JsonVariantConst(iterator.value());
value_ = JsonVariantConst(*iterator);
}
}

View File

@ -34,7 +34,7 @@ inline VariantImpl::iterator VariantImpl::findKey(TAdaptedString key) const {
return iterator();
bool isKey = true;
for (auto it = createIterator(); !it.done(); it.next()) {
if (isKey && stringEquals(key, adaptString(it.value().asString())))
if (isKey && stringEquals(key, adaptString(it->asString())))
return it;
isKey = !isKey;
}