ArduinoJson.hpp 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // ArduinoJson - https://arduinojson.org
  2. // Copyright © 2014-2025, Benoit BLANCHON
  3. // MIT License
  4. #pragma once
  5. #if __cplusplus < 201103L && (!defined(_MSC_VER) || _MSC_VER < 1910)
  6. # error ArduinoJson requires C++11 or newer. Configure your compiler for C++11 or downgrade ArduinoJson to 6.20.
  7. #endif
  8. #include "ArduinoJson/Configuration.hpp"
  9. // Include Arduino.h before stdlib.h to avoid conflict with atexit()
  10. // https://github.com/bblanchon/ArduinoJson/pull/1693#issuecomment-1001060240
  11. #if ARDUINOJSON_ENABLE_ARDUINO_STRING || ARDUINOJSON_ENABLE_ARDUINO_STREAM || \
  12. ARDUINOJSON_ENABLE_ARDUINO_PRINT || \
  13. (ARDUINOJSON_ENABLE_PROGMEM && defined(ARDUINO))
  14. # include <Arduino.h>
  15. #endif
  16. #if !ARDUINOJSON_DEBUG
  17. # ifdef __clang__
  18. # pragma clang system_header
  19. # elif defined __GNUC__
  20. # pragma GCC system_header
  21. # endif
  22. #endif
  23. // Remove true and false macros defined by some cores, such as Arduino Due's
  24. // See issues #2181 and arduino/ArduinoCore-sam#50
  25. #ifdef true
  26. # undef true
  27. #endif
  28. #ifdef false
  29. # undef false
  30. #endif
  31. #include "ArduinoJson/Array/JsonArray.hpp"
  32. #include "ArduinoJson/Object/JsonObject.hpp"
  33. #include "ArduinoJson/Variant/JsonVariantConst.hpp"
  34. #include "ArduinoJson/Document/JsonDocument.hpp"
  35. #include "ArduinoJson/Array/ArrayImpl.hpp"
  36. #include "ArduinoJson/Array/ElementProxy.hpp"
  37. #include "ArduinoJson/Array/Utilities.hpp"
  38. #include "ArduinoJson/Collection/CollectionImpl.hpp"
  39. #include "ArduinoJson/Object/MemberProxy.hpp"
  40. #include "ArduinoJson/Object/ObjectImpl.hpp"
  41. #include "ArduinoJson/Variant/ConverterImpl.hpp"
  42. #include "ArduinoJson/Variant/JsonVariantCopier.hpp"
  43. #include "ArduinoJson/Variant/VariantCompare.hpp"
  44. #include "ArduinoJson/Variant/VariantRefBaseImpl.hpp"
  45. #include "ArduinoJson/Json/JsonDeserializer.hpp"
  46. #include "ArduinoJson/Json/JsonSerializer.hpp"
  47. #include "ArduinoJson/Json/PrettyJsonSerializer.hpp"
  48. #include "ArduinoJson/MsgPack/MsgPackBinary.hpp"
  49. #include "ArduinoJson/MsgPack/MsgPackDeserializer.hpp"
  50. #include "ArduinoJson/MsgPack/MsgPackExtension.hpp"
  51. #include "ArduinoJson/MsgPack/MsgPackSerializer.hpp"
  52. #include "ArduinoJson/compatibility.hpp"