jsonPrimitive.hh 1001 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #pragma once
  2. #include <string>
  3. #include "jsonElement.hh"
  4. template <typename T>
  5. class JSonPrimitive: public JSonElement
  6. {
  7. public:
  8. JSonPrimitive(T const &v);
  9. virtual ~JSonPrimitive();
  10. protected:
  11. const T value;
  12. };
  13. template<> class JSonPrimitive<float>: public JSonElement
  14. {
  15. public:
  16. JSonPrimitive(const std::string &v);
  17. protected:
  18. const float value;
  19. };
  20. template<> class JSonPrimitive<long long int>: public JSonElement
  21. {
  22. public:
  23. JSonPrimitive(const std::string &v);
  24. protected:
  25. const bool value;
  26. };
  27. template<> class JSonPrimitive<std::string>: public JSonElement
  28. {
  29. public:
  30. JSonPrimitive(const std::string &v);
  31. virtual bool operator<(const JSonPrimitive<std::string> &other) const;
  32. protected:
  33. //TODO
  34. const std::string value;
  35. };
  36. template<> class JSonPrimitive<bool>: public JSonElement
  37. {
  38. public:
  39. JSonPrimitive(bool v);
  40. protected:
  41. const bool value;
  42. };