JsonObject.h 911 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. class JsonBuffer;
  3. class JsonValue;
  4. struct JsonNode;
  5. class JsonObject
  6. {
  7. // friend class JsonValue;
  8. //
  9. //public:
  10. // JsonObject(JsonBuffer& buffer, JsonNode& node)
  11. // : _buffer(buffer), _node(node)
  12. // {
  13. // }
  14. //
  15. // JsonObject createObject(const char* key)
  16. // {
  17. // JsonObject innerObject = _buffer.createObject();
  18. // addNodeAt(key, innerObject._node);
  19. // return innerObject;
  20. // }
  21. //
  22. public:
  23. JsonObject(JsonBuffer* buffer, JsonNode* node)
  24. : _buffer(buffer), _node(node)
  25. {
  26. }
  27. size_t size();
  28. JsonValue operator[](const char* key);
  29. private:
  30. JsonBuffer* _buffer;
  31. JsonNode* _node;
  32. JsonNode* getOrCreateNodeAt(char const* key);
  33. //
  34. // // TODO: pull up
  35. // void appendChild(JsonNode& newChild);
  36. };