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