Files
ArduinoJson/include/ArduinoJson/JsonObjectIterator.hpp
2014-10-27 14:03:44 +01:00

33 lines
721 B
C++

#pragma once
#include "ArduinoJson/JsonObjectKeyValue.hpp"
namespace ArduinoJson {
class JsonObject;
class JsonObjectIterator {
friend class JsonObject;
public:
explicit JsonObjectIterator(Internals::JsonNode* node) : _node(node) {}
const char* key() const { return operator*().key(); }
JsonValue value() const { return operator*().value(); }
void operator++() { _node = _node->next; }
JsonObjectKeyValue operator*() const { return JsonObjectKeyValue(_node); }
bool operator==(const JsonObjectIterator& other) const {
return _node == other._node;
}
bool operator!=(const JsonObjectIterator& other) const {
return _node != other._node;
}
private:
Internals::JsonNode* _node;
};
}