Replaced composition by inheritance

This commit is contained in:
Benoit Blanchon
2014-07-19 12:44:27 +02:00
parent 851d21e08c
commit b278d7711b
12 changed files with 92 additions and 135 deletions

View File

@ -13,35 +13,24 @@ namespace ArduinoJson
{
namespace Parser
{
class JsonObjectIterator
class JsonObjectIterator : public JsonToken
{
public:
JsonObjectIterator(char* json, Internal::JsonToken token)
: json(json), token(token)
JsonObjectIterator(JsonToken token)
: JsonToken(token)
{
}
void operator++()
{
token = token.nextSibling().nextSibling();
*this = JsonObjectIterator(nextSibling().nextSibling());
}
JsonPair operator*() const
{
return JsonPair(json, token);
return JsonPair(*this);
}
bool operator !=(const JsonObjectIterator& other)
{
return token != other.token;
}
private:
char* json;
Internal::JsonToken token;
};
}
}