JsonNodeIterator.h 522 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include "JsonNode.h"
  3. class JsonNodeIterator
  4. {
  5. public:
  6. explicit JsonNodeIterator(JsonNode* node)
  7. : node(node)
  8. {
  9. }
  10. bool operator!= (const JsonNodeIterator& other) const
  11. {
  12. return node != other.node;
  13. }
  14. void operator++()
  15. {
  16. node = node->next;
  17. }
  18. JsonNode* operator*() const
  19. {
  20. return node;
  21. }
  22. JsonNode* operator->() const
  23. {
  24. return node;
  25. }
  26. private:
  27. JsonNode* node;
  28. };