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

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