JsonValue.h 818 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #pragma once
  2. class JsonArray;
  3. class JsonContainer;
  4. class JsonObject;
  5. struct JsonNode;
  6. class JsonValue
  7. {
  8. public:
  9. explicit JsonValue()
  10. : _node(0)
  11. {
  12. }
  13. explicit JsonValue(JsonNode* node)
  14. : _node(node)
  15. {
  16. }
  17. void operator=(bool);
  18. void operator=(const char*);
  19. void operator=(double);
  20. void operator=(int);
  21. void operator=(const JsonContainer&);
  22. void operator=(const JsonValue&);
  23. operator bool() const;
  24. operator const char*() const;
  25. operator double() const;
  26. operator int() const;
  27. operator JsonArray() const;
  28. operator JsonObject() const;
  29. void set(double value, int decimals);
  30. private:
  31. JsonNode* _node;
  32. void setAsProxyTo(JsonNode*);
  33. JsonNode* getActualNode() const;
  34. };