JsonArrayIterator.h 926 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * Arduino JSON library
  3. * Benoit Blanchon 2014 - MIT License
  4. */
  5. #pragma once
  6. #include "JsonValue.h"
  7. #include "JsonToken.h"
  8. namespace ArduinoJson
  9. {
  10. namespace Parser
  11. {
  12. class JsonArrayIterator
  13. {
  14. public:
  15. JsonArrayIterator(char* json, Internal::JsonToken token)
  16. : json(json), token(token)
  17. {
  18. }
  19. const JsonArrayIterator& operator++()
  20. {
  21. token = token.nextSibling();
  22. return *this;
  23. }
  24. JsonValue operator*() const
  25. {
  26. return JsonValue(json, token);
  27. }
  28. bool operator !=(const JsonArrayIterator& other)
  29. {
  30. return token != other.token;
  31. }
  32. private:
  33. char* json;
  34. Internal::JsonToken token;
  35. };
  36. }
  37. }