Files
ArduinoJson/JsonParser/JsonArrayIterator.h

58 lines
1.1 KiB
C
Raw Normal View History

/*
* Arduino JSON library
* Benoit Blanchon 2014 - MIT License
*/
#pragma once
#include "JsonValue.h"
2014-07-18 15:43:20 +02:00
#include "JsonToken.h"
namespace ArduinoJson
{
namespace Parser
{
class JsonHashTable;
class JsonArrayIterator
{
friend class JsonArray;
public:
JsonArrayIterator operator++()
{
2014-07-18 15:43:20 +02:00
JsonArrayIterator prev = *this;
token = token.nextSibling();
2014-07-18 15:43:20 +02:00
return prev;
}
JsonValue operator*()
{
2014-07-18 15:43:20 +02:00
return JsonValue(json, token);
}
bool operator !=(const JsonArrayIterator& other)
{
2014-07-18 15:43:20 +02:00
return token != other.token || json != other.json;
}
private:
char* json;
2014-07-18 15:43:20 +02:00
Internal::JsonToken token;
JsonArrayIterator()
2014-07-18 15:43:20 +02:00
: json(0), token(0)
{
}
2014-07-18 15:43:20 +02:00
JsonArrayIterator(char* json, Internal::JsonToken& token)
: json(json), token(token)
{
}
};
}
}