Files
ArduinoJson/JsonParser/JsonArrayIterator.h

46 lines
1.0 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
{
2014-07-21 15:20:02 +02:00
// An iterator for JsonArray
class JsonArrayIterator : JsonToken
{
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-19 12:44:27 +02:00
*this = JsonArrayIterator(nextSibling());
}
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-19 12:44:27 +02:00
return JsonValue(*this);
}
2014-07-21 15:20:02 +02:00
// Test iterator equality
bool operator!= (const JsonArrayIterator& other) const
{
return JsonToken::operator!=(other);
}
};
}
}