2014-07-17 13:58:30 +02:00
|
|
|
/*
|
|
|
|
* Arduino JSON library
|
|
|
|
* Benoit Blanchon 2014 - MIT License
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "JsonValue.h"
|
2014-07-18 15:43:20 +02:00
|
|
|
#include "JsonToken.h"
|
2014-07-17 13:58:30 +02:00
|
|
|
|
|
|
|
namespace ArduinoJson
|
|
|
|
{
|
|
|
|
namespace Parser
|
|
|
|
{
|
2014-07-21 15:20:02 +02:00
|
|
|
// An iterator for JsonArray
|
2014-07-19 14:41:29 +02:00
|
|
|
class JsonArrayIterator : JsonToken
|
2014-07-17 13:58:30 +02:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
2014-07-21 15:20:02 +02:00
|
|
|
// Create an iterator pointing at the specified JsonToken
|
2014-07-19 12:44:27 +02:00
|
|
|
JsonArrayIterator(JsonToken token)
|
|
|
|
: JsonToken(token)
|
2014-07-18 16:10:19 +02:00
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2014-07-21 15:20:02 +02:00
|
|
|
// Move iterator forward
|
2014-07-18 22:40:50 +02:00
|
|
|
void operator++()
|
2014-07-17 13:58:30 +02:00
|
|
|
{
|
2014-07-19 12:44:27 +02:00
|
|
|
*this = JsonArrayIterator(nextSibling());
|
2014-07-17 13:58:30 +02:00
|
|
|
}
|
|
|
|
|
2014-07-21 15:20:02 +02:00
|
|
|
// Get the value pointed by the iterator
|
2014-07-18 16:10:19 +02:00
|
|
|
JsonValue operator*() const
|
2014-07-17 13:58:30 +02:00
|
|
|
{
|
2014-07-19 12:44:27 +02:00
|
|
|
return JsonValue(*this);
|
2014-07-17 13:58:30 +02:00
|
|
|
}
|
2014-07-19 14:41:29 +02:00
|
|
|
|
2014-07-21 15:20:02 +02:00
|
|
|
// Test iterator equality
|
2014-07-19 14:41:29 +02:00
|
|
|
bool operator!= (const JsonArrayIterator& other) const
|
|
|
|
{
|
|
|
|
return JsonToken::operator!=(other);
|
|
|
|
}
|
2014-07-17 13:58:30 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|