forked from bblanchon/ArduinoJson
Improved JsonObjectIterator
This commit is contained in:
@ -4,44 +4,45 @@
|
||||
|
||||
namespace ArduinoJson
|
||||
{
|
||||
class JsonObject;
|
||||
class JsonObject;
|
||||
|
||||
class JsonObjectIterator
|
||||
{
|
||||
friend class JsonObject;
|
||||
class JsonObjectIterator
|
||||
{
|
||||
friend class JsonObject;
|
||||
|
||||
public:
|
||||
explicit JsonObjectIterator(Internals::JsonNode* node)
|
||||
: _objectKeyValue(node)
|
||||
{
|
||||
}
|
||||
public:
|
||||
explicit JsonObjectIterator(Internals::JsonNode* node)
|
||||
: _objectKeyValue(node)
|
||||
{
|
||||
}
|
||||
|
||||
void operator++()
|
||||
{
|
||||
++_objectKeyValue;
|
||||
}
|
||||
JsonObjectIterator& operator++()
|
||||
{
|
||||
_objectKeyValue = JsonObjectKeyValue(_objectKeyValue.next());
|
||||
return *this;
|
||||
}
|
||||
|
||||
JsonObjectKeyValue operator*() const
|
||||
{
|
||||
return _objectKeyValue;
|
||||
}
|
||||
JsonObjectKeyValue operator*() const
|
||||
{
|
||||
return _objectKeyValue;
|
||||
}
|
||||
|
||||
JsonObjectKeyValue* operator->()
|
||||
{
|
||||
return &_objectKeyValue;
|
||||
}
|
||||
{
|
||||
return &_objectKeyValue;
|
||||
}
|
||||
|
||||
bool operator==(const JsonObjectIterator& other) const
|
||||
{
|
||||
return _objectKeyValue == other._objectKeyValue;
|
||||
}
|
||||
bool operator==(const JsonObjectIterator& other) const
|
||||
{
|
||||
return _objectKeyValue == other._objectKeyValue;
|
||||
}
|
||||
|
||||
bool operator!=(const JsonObjectIterator& other) const
|
||||
{
|
||||
return _objectKeyValue != other._objectKeyValue;
|
||||
}
|
||||
bool operator!=(const JsonObjectIterator& other) const
|
||||
{
|
||||
return _objectKeyValue != other._objectKeyValue;
|
||||
}
|
||||
|
||||
private:
|
||||
JsonObjectKeyValue _objectKeyValue;
|
||||
};
|
||||
private:
|
||||
JsonObjectKeyValue _objectKeyValue;
|
||||
};
|
||||
}
|
@ -4,40 +4,40 @@
|
||||
|
||||
namespace ArduinoJson
|
||||
{
|
||||
class JsonObjectKeyValue
|
||||
{
|
||||
public:
|
||||
explicit JsonObjectKeyValue(Internals::JsonNode* node)
|
||||
: _node(node)
|
||||
{
|
||||
}
|
||||
class JsonObjectKeyValue
|
||||
{
|
||||
public:
|
||||
explicit JsonObjectKeyValue(Internals::JsonNode* node)
|
||||
: _node(node)
|
||||
{
|
||||
}
|
||||
|
||||
const char* key() const
|
||||
{
|
||||
return _node->getAsObjectKey();
|
||||
}
|
||||
const char* key() const
|
||||
{
|
||||
return _node->getAsObjectKey();
|
||||
}
|
||||
|
||||
JsonValue value()
|
||||
{
|
||||
return JsonValue(_node->getAsObjectValue());
|
||||
}
|
||||
JsonValue value()
|
||||
{
|
||||
return JsonValue(_node->getAsObjectValue());
|
||||
}
|
||||
|
||||
void operator++()
|
||||
{
|
||||
_node = _node->next;
|
||||
}
|
||||
bool operator==(const JsonObjectKeyValue& other) const
|
||||
{
|
||||
return _node == other._node;
|
||||
}
|
||||
|
||||
bool operator==(const JsonObjectKeyValue& other) const
|
||||
{
|
||||
return _node == other._node;
|
||||
}
|
||||
bool operator!=(const JsonObjectKeyValue& other) const
|
||||
{
|
||||
return _node != other._node;
|
||||
}
|
||||
|
||||
bool operator!=(const JsonObjectKeyValue& other) const
|
||||
{
|
||||
return _node != other._node;
|
||||
}
|
||||
Internals::JsonNode* next()
|
||||
{
|
||||
return _node->next;
|
||||
}
|
||||
|
||||
private:
|
||||
Internals::JsonNode* _node;
|
||||
};
|
||||
private:
|
||||
Internals::JsonNode* _node;
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user