diff --git a/CHANGELOG.md b/CHANGELOG.md index f9741b4a..e55bdf24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ ArduinoJson: change log ======================= +HEAD +---- + +* Use absolute instead of relative includes (issue #1072) + v6.11.5 (2019-08-23) ------- diff --git a/scripts/build-single-header.sh b/scripts/build-single-header.sh index b09e91f6..89f3baa5 100644 --- a/scripts/build-single-header.sh +++ b/scripts/build-single-header.sh @@ -1,8 +1,14 @@ #!/bin/bash +set -e + TAG=$(git describe) -RE_INCLUDE='^#include[[:space:]]*["<](.*)[">]' +RE_RELATIVE_INCLUDE='^#include[[:space:]]*"(.*)"' +RE_ABSOLUTE_INCLUDE='^#include[[:space:]]*<(ArduinoJson/.*)>' +RE_SYSTEM_INCLUDE='^#include[[:space:]]*<(.*)>' RE_EMPTY='^(#pragma[[:space:]]+once)?[[:space:]]*(//.*)?$' +SRC_DIRECTORY="$(realpath "$(dirname $0)/../src")" + declare -A INCLUDED @@ -12,23 +18,33 @@ process() local FOLDER=$(dirname $1) local SHOW_COMMENT=$2 while IFS= read -r LINE; do - if [[ $LINE =~ $RE_INCLUDE ]]; then + if [[ $LINE =~ $RE_ABSOLUTE_INCLUDE ]]; then + local CHILD=${BASH_REMATCH[1]} + local CHILD_PATH + CHILD_PATH=$(realpath "$SRC_DIRECTORY/$CHILD") + echo "$PARENT -> $CHILD" >&2 + if [[ ! ${INCLUDED[$CHILD_PATH]} ]]; then + INCLUDED[$CHILD_PATH]=true + process "$CHILD" false + fi + elif [[ $LINE =~ $RE_RELATIVE_INCLUDE ]]; then local CHILD=${BASH_REMATCH[1]} pushd "$FOLDER" > /dev/null - if [[ -e $CHILD ]]; then - local CHILD_PATH=$(realpath $CHILD) - if [[ ! ${INCLUDED[$CHILD_PATH]} ]]; then - #echo "// $PARENT -> $CHILD" - INCLUDED[$CHILD_PATH]=true - process "$CHILD" false - fi - else - if [[ ! ${INCLUDED[$CHILD]} ]]; then - echo "$LINE" - INCLUDED[$CHILD]=true - fi + local CHILD_PATH + CHILD_PATH=$(realpath "$CHILD") + echo "$PARENT -> $CHILD" >&2 + if [[ ! ${INCLUDED[$CHILD_PATH]} ]]; then + INCLUDED[$CHILD_PATH]=true + process "$CHILD" false fi popd > /dev/null + elif [[ $LINE =~ $RE_SYSTEM_INCLUDE ]]; then + local CHILD=${BASH_REMATCH[1]} + echo "$PARENT -> <$CHILD>" >&2 + if [[ ! ${INCLUDED[$CHILD]} ]]; then + echo "#include <$CHILD>" + INCLUDED[$CHILD]=true + fi elif [[ "${SHOW_COMMENT}" = "true" ]] ; then echo "$LINE" elif [[ ! $LINE =~ $RE_EMPTY ]]; then @@ -37,17 +53,29 @@ process() done < $PARENT } +simplify_namespaces() { + perl -p0i -e 's|\} // namespace ARDUINOJSON_NAMESPACE\r?\nnamespace ARDUINOJSON_NAMESPACE \{\r?\n||igs' "$1" +} + cd $(dirname $0)/../ INCLUDED=() process src/ArduinoJson.h true > ../ArduinoJson-$TAG.h +simplify_namespaces ../ArduinoJson-$TAG.h g++ -x c++ -c -o ../smoketest.o - < doc; + deserializeJson(doc, "{}"); +} END INCLUDED=() process src/ArduinoJson.hpp true > ../ArduinoJson-$TAG.hpp +simplify_namespaces ../ArduinoJson-$TAG.hpp g++ -x c++ -c -o ../smoketest.o - < doc; + ArduinoJson::deserializeJson(doc, "{}"); +} +END diff --git a/src/ArduinoJson/Array/ArrayFunctions.hpp b/src/ArduinoJson/Array/ArrayFunctions.hpp index ec0dedd4..9a885aa6 100644 --- a/src/ArduinoJson/Array/ArrayFunctions.hpp +++ b/src/ArduinoJson/Array/ArrayFunctions.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Collection/CollectionData.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Array/ArrayImpl.hpp b/src/ArduinoJson/Array/ArrayImpl.hpp index df014927..2d379115 100644 --- a/src/ArduinoJson/Array/ArrayImpl.hpp +++ b/src/ArduinoJson/Array/ArrayImpl.hpp @@ -4,8 +4,8 @@ #pragma once -#include "../Object/ObjectRef.hpp" -#include "ArrayRef.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Array/ArrayIterator.hpp b/src/ArduinoJson/Array/ArrayIterator.hpp index c1d6096f..588b5075 100644 --- a/src/ArduinoJson/Array/ArrayIterator.hpp +++ b/src/ArduinoJson/Array/ArrayIterator.hpp @@ -4,8 +4,8 @@ #pragma once -#include "../Variant/SlotFunctions.hpp" -#include "../Variant/VariantRef.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Array/ArrayRef.hpp b/src/ArduinoJson/Array/ArrayRef.hpp index e34b6233..2d75180b 100644 --- a/src/ArduinoJson/Array/ArrayRef.hpp +++ b/src/ArduinoJson/Array/ArrayRef.hpp @@ -4,9 +4,9 @@ #pragma once -#include "../Variant/VariantData.hpp" -#include "ArrayFunctions.hpp" -#include "ArrayIterator.hpp" +#include +#include +#include // Returns the size (in bytes) of an array with n elements. // Can be very handy to determine the size of a StaticMemoryPool. diff --git a/src/ArduinoJson/Array/ArrayShortcuts.hpp b/src/ArduinoJson/Array/ArrayShortcuts.hpp index 221f3fd1..cfa46a38 100644 --- a/src/ArduinoJson/Array/ArrayShortcuts.hpp +++ b/src/ArduinoJson/Array/ArrayShortcuts.hpp @@ -4,8 +4,8 @@ #pragma once -#include "../Polyfills/attributes.hpp" -#include "../Polyfills/type_traits.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { // Forward declarations. diff --git a/src/ArduinoJson/Array/ElementProxy.hpp b/src/ArduinoJson/Array/ElementProxy.hpp index c7ef9c61..58f3a2e7 100644 --- a/src/ArduinoJson/Array/ElementProxy.hpp +++ b/src/ArduinoJson/Array/ElementProxy.hpp @@ -4,8 +4,9 @@ #pragma once -#include "../Configuration.hpp" -#include "../Operators/VariantOperators.hpp" +#include +#include +#include #ifdef _MSC_VER #pragma warning(push) diff --git a/src/ArduinoJson/Array/Utilities.hpp b/src/ArduinoJson/Array/Utilities.hpp index 49599160..76d40085 100644 --- a/src/ArduinoJson/Array/Utilities.hpp +++ b/src/ArduinoJson/Array/Utilities.hpp @@ -4,7 +4,7 @@ #pragma once -#include "ArrayRef.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Collection/CollectionData.hpp b/src/ArduinoJson/Collection/CollectionData.hpp index 6b37d533..b56cf372 100644 --- a/src/ArduinoJson/Collection/CollectionData.hpp +++ b/src/ArduinoJson/Collection/CollectionData.hpp @@ -4,6 +4,8 @@ #pragma once +#include // size_t + namespace ARDUINOJSON_NAMESPACE { class MemoryPool; diff --git a/src/ArduinoJson/Collection/CollectionImpl.hpp b/src/ArduinoJson/Collection/CollectionImpl.hpp index c6097e47..b70fb253 100644 --- a/src/ArduinoJson/Collection/CollectionImpl.hpp +++ b/src/ArduinoJson/Collection/CollectionImpl.hpp @@ -4,8 +4,8 @@ #pragma once -#include "../Variant/VariantData.hpp" -#include "CollectionData.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Deserialization/NestingLimit.hpp b/src/ArduinoJson/Deserialization/NestingLimit.hpp index f1f4a5bc..8a2d3e87 100644 --- a/src/ArduinoJson/Deserialization/NestingLimit.hpp +++ b/src/ArduinoJson/Deserialization/NestingLimit.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Configuration.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Deserialization/deserialize.hpp b/src/ArduinoJson/Deserialization/deserialize.hpp index 112d0823..a5bae37e 100644 --- a/src/ArduinoJson/Deserialization/deserialize.hpp +++ b/src/ArduinoJson/Deserialization/deserialize.hpp @@ -4,14 +4,14 @@ #pragma once -#include "../StringStorage/StringStorage.hpp" -#include "ArduinoStreamReader.hpp" -#include "CharPointerReader.hpp" -#include "DeserializationError.hpp" -#include "FlashStringReader.hpp" -#include "IteratorReader.hpp" -#include "NestingLimit.hpp" -#include "StdStreamReader.hpp" +#include +#include +#include +#include +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Document/BasicJsonDocument.hpp b/src/ArduinoJson/Document/BasicJsonDocument.hpp index 3919cb43..df6f83d5 100644 --- a/src/ArduinoJson/Document/BasicJsonDocument.hpp +++ b/src/ArduinoJson/Document/BasicJsonDocument.hpp @@ -4,7 +4,7 @@ #pragma once -#include "JsonDocument.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Document/DynamicJsonDocument.hpp b/src/ArduinoJson/Document/DynamicJsonDocument.hpp index 380adae1..3e2b54b2 100644 --- a/src/ArduinoJson/Document/DynamicJsonDocument.hpp +++ b/src/ArduinoJson/Document/DynamicJsonDocument.hpp @@ -4,7 +4,7 @@ #pragma once -#include "BasicJsonDocument.hpp" +#include #include // malloc, free diff --git a/src/ArduinoJson/Document/JsonDocument.hpp b/src/ArduinoJson/Document/JsonDocument.hpp index 48f89baf..784383ec 100644 --- a/src/ArduinoJson/Document/JsonDocument.hpp +++ b/src/ArduinoJson/Document/JsonDocument.hpp @@ -4,13 +4,12 @@ #pragma once -#include "../Memory/MemoryPool.hpp" -#include "../Object/ObjectRef.hpp" -#include "../Variant/VariantRef.hpp" -#include "../Variant/VariantTo.hpp" - -#include "../Array/ElementProxy.hpp" -#include "../Object/MemberProxy.hpp" +#include +#include +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Document/StaticJsonDocument.hpp b/src/ArduinoJson/Document/StaticJsonDocument.hpp index a93a4366..ce8b06e8 100644 --- a/src/ArduinoJson/Document/StaticJsonDocument.hpp +++ b/src/ArduinoJson/Document/StaticJsonDocument.hpp @@ -4,7 +4,7 @@ #pragma once -#include "JsonDocument.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Json/JsonDeserializer.hpp b/src/ArduinoJson/Json/JsonDeserializer.hpp index e9eccedd..63bc860b 100644 --- a/src/ArduinoJson/Json/JsonDeserializer.hpp +++ b/src/ArduinoJson/Json/JsonDeserializer.hpp @@ -4,13 +4,13 @@ #pragma once -#include "../Deserialization/deserialize.hpp" -#include "../Memory/MemoryPool.hpp" -#include "../Numbers/parseNumber.hpp" -#include "../Polyfills/type_traits.hpp" -#include "../Variant/VariantData.hpp" -#include "EscapeSequence.hpp" -#include "Utf8.hpp" +#include +#include +#include +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Json/JsonSerializer.hpp b/src/ArduinoJson/Json/JsonSerializer.hpp index 91c209bd..6b0acca0 100644 --- a/src/ArduinoJson/Json/JsonSerializer.hpp +++ b/src/ArduinoJson/Json/JsonSerializer.hpp @@ -4,10 +4,10 @@ #pragma once -#include "../Misc/Visitable.hpp" -#include "../Serialization/measure.hpp" -#include "../Serialization/serialize.hpp" -#include "TextFormatter.hpp" +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Json/PrettyJsonSerializer.hpp b/src/ArduinoJson/Json/PrettyJsonSerializer.hpp index 58576048..7981878e 100644 --- a/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +++ b/src/ArduinoJson/Json/PrettyJsonSerializer.hpp @@ -4,10 +4,10 @@ #pragma once -#include "../Configuration.hpp" -#include "../Serialization/measure.hpp" -#include "../Serialization/serialize.hpp" -#include "JsonSerializer.hpp" +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Json/TextFormatter.hpp b/src/ArduinoJson/Json/TextFormatter.hpp index 8f05ac56..327cf410 100644 --- a/src/ArduinoJson/Json/TextFormatter.hpp +++ b/src/ArduinoJson/Json/TextFormatter.hpp @@ -6,10 +6,11 @@ #include #include // for strlen -#include "../Numbers/FloatParts.hpp" -#include "../Numbers/Integer.hpp" -#include "../Polyfills/attributes.hpp" -#include "EscapeSequence.hpp" + +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Memory/MemoryPool.hpp b/src/ArduinoJson/Memory/MemoryPool.hpp index b1b253cb..4c4e8581 100644 --- a/src/ArduinoJson/Memory/MemoryPool.hpp +++ b/src/ArduinoJson/Memory/MemoryPool.hpp @@ -4,12 +4,11 @@ #pragma once -#include "../Polyfills/assert.hpp" -#include "../Polyfills/mpl/max.hpp" -#include "../Variant/VariantSlot.hpp" -#include "Alignment.hpp" -#include "MemoryPool.hpp" -#include "StringSlot.hpp" +#include +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Memory/StringBuilder.hpp b/src/ArduinoJson/Memory/StringBuilder.hpp index 47e9f432..01ed8da0 100644 --- a/src/ArduinoJson/Memory/StringBuilder.hpp +++ b/src/ArduinoJson/Memory/StringBuilder.hpp @@ -4,7 +4,7 @@ #pragma once -#include "MemoryPool.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Memory/StringSlot.hpp b/src/ArduinoJson/Memory/StringSlot.hpp index a2880308..2c599143 100644 --- a/src/ArduinoJson/Memory/StringSlot.hpp +++ b/src/ArduinoJson/Memory/StringSlot.hpp @@ -5,7 +5,8 @@ #pragma once #include // for size_t -#include "../Configuration.hpp" + +#include #define JSON_STRING_SIZE(SIZE) (SIZE) diff --git a/src/ArduinoJson/Misc/SerializedValue.hpp b/src/ArduinoJson/Misc/SerializedValue.hpp index 5bbd4c41..1a773af7 100644 --- a/src/ArduinoJson/Misc/SerializedValue.hpp +++ b/src/ArduinoJson/Misc/SerializedValue.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Strings/StringAdapters.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Misc/Visitable.hpp b/src/ArduinoJson/Misc/Visitable.hpp index aa8e1837..926a8763 100644 --- a/src/ArduinoJson/Misc/Visitable.hpp +++ b/src/ArduinoJson/Misc/Visitable.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Polyfills/type_traits.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp b/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp index 4c268968..3af43a97 100644 --- a/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +++ b/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp @@ -4,12 +4,12 @@ #pragma once -#include "../Deserialization/deserialize.hpp" -#include "../Memory/MemoryPool.hpp" -#include "../Polyfills/type_traits.hpp" -#include "../Variant/VariantData.hpp" -#include "endianess.hpp" -#include "ieee754.hpp" +#include +#include +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp b/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp index e3ba6439..2f1f6d5b 100644 --- a/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +++ b/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp @@ -4,11 +4,11 @@ #pragma once -#include "../Polyfills/type_traits.hpp" -#include "../Serialization/measure.hpp" -#include "../Serialization/serialize.hpp" -#include "../Variant/VariantData.hpp" -#include "endianess.hpp" +#include +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/MsgPack/endianess.hpp b/src/ArduinoJson/MsgPack/endianess.hpp index e44129cc..d1beb8c8 100644 --- a/src/ArduinoJson/MsgPack/endianess.hpp +++ b/src/ArduinoJson/MsgPack/endianess.hpp @@ -4,8 +4,8 @@ #pragma once -#include "../Polyfills/type_traits.hpp" -#include "../Polyfills/utility.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Namespace.hpp b/src/ArduinoJson/Namespace.hpp index 8108c5da..a15a066b 100644 --- a/src/ArduinoJson/Namespace.hpp +++ b/src/ArduinoJson/Namespace.hpp @@ -4,9 +4,8 @@ #pragma once -#include "version.hpp" - -#include "Configuration.hpp" +#include +#include #define ARDUINOJSON_DO_CONCAT(A, B) A##B #define ARDUINOJSON_CONCAT2(A, B) ARDUINOJSON_DO_CONCAT(A, B) diff --git a/src/ArduinoJson/Numbers/Float.hpp b/src/ArduinoJson/Numbers/Float.hpp index a1c5597e..2a69a784 100644 --- a/src/ArduinoJson/Numbers/Float.hpp +++ b/src/ArduinoJson/Numbers/Float.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Configuration.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Numbers/FloatParts.hpp b/src/ArduinoJson/Numbers/FloatParts.hpp index adbd9474..626139d9 100644 --- a/src/ArduinoJson/Numbers/FloatParts.hpp +++ b/src/ArduinoJson/Numbers/FloatParts.hpp @@ -4,9 +4,9 @@ #pragma once -#include "../Configuration.hpp" -#include "../Polyfills/math.hpp" -#include "./FloatTraits.hpp" +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Numbers/FloatTraits.hpp b/src/ArduinoJson/Numbers/FloatTraits.hpp index 2e92fb7c..71d3107f 100644 --- a/src/ArduinoJson/Numbers/FloatTraits.hpp +++ b/src/ArduinoJson/Numbers/FloatTraits.hpp @@ -6,9 +6,10 @@ #include // for size_t #include -#include "../Configuration.hpp" -#include "../Polyfills/alias_cast.hpp" -#include "../Polyfills/math.hpp" + +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Numbers/Integer.hpp b/src/ArduinoJson/Numbers/Integer.hpp index 84f16cf8..fc1637c1 100644 --- a/src/ArduinoJson/Numbers/Integer.hpp +++ b/src/ArduinoJson/Numbers/Integer.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Configuration.hpp" +#include #include // int64_t diff --git a/src/ArduinoJson/Numbers/convertNumber.hpp b/src/ArduinoJson/Numbers/convertNumber.hpp index 4d92822d..e56ade82 100644 --- a/src/ArduinoJson/Numbers/convertNumber.hpp +++ b/src/ArduinoJson/Numbers/convertNumber.hpp @@ -14,10 +14,10 @@ #pragma GCC diagnostic ignored "-Wconversion" #endif -#include "../Polyfills/limits.hpp" -#include "Float.hpp" -#include "FloatTraits.hpp" -#include "Integer.hpp" +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Numbers/parseFloat.hpp b/src/ArduinoJson/Numbers/parseFloat.hpp index ea89c7ee..2069c4b4 100644 --- a/src/ArduinoJson/Numbers/parseFloat.hpp +++ b/src/ArduinoJson/Numbers/parseFloat.hpp @@ -4,8 +4,8 @@ #pragma once -#include "convertNumber.hpp" -#include "parseNumber.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Numbers/parseInteger.hpp b/src/ArduinoJson/Numbers/parseInteger.hpp index d3749a5c..f206089d 100644 --- a/src/ArduinoJson/Numbers/parseInteger.hpp +++ b/src/ArduinoJson/Numbers/parseInteger.hpp @@ -4,9 +4,9 @@ #pragma once -#include "../Polyfills/type_traits.hpp" -#include "convertNumber.hpp" -#include "parseNumber.hpp" +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { template diff --git a/src/ArduinoJson/Numbers/parseNumber.hpp b/src/ArduinoJson/Numbers/parseNumber.hpp index 1fee3819..b6e21123 100644 --- a/src/ArduinoJson/Numbers/parseNumber.hpp +++ b/src/ArduinoJson/Numbers/parseNumber.hpp @@ -4,13 +4,13 @@ #pragma once -#include "../Polyfills/assert.hpp" -#include "../Polyfills/ctype.hpp" -#include "../Polyfills/math.hpp" -#include "../Polyfills/type_traits.hpp" -#include "../Variant/VariantContent.hpp" -#include "FloatTraits.hpp" -#include "convertNumber.hpp" +#include +#include +#include +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Object/MemberProxy.hpp b/src/ArduinoJson/Object/MemberProxy.hpp index f634a142..6fe7d4cc 100644 --- a/src/ArduinoJson/Object/MemberProxy.hpp +++ b/src/ArduinoJson/Object/MemberProxy.hpp @@ -4,9 +4,9 @@ #pragma once -#include "../Configuration.hpp" -#include "../Operators/VariantOperators.hpp" -#include "../Polyfills/type_traits.hpp" +#include +#include +#include #ifdef _MSC_VER #pragma warning(push) diff --git a/src/ArduinoJson/Object/ObjectFunctions.hpp b/src/ArduinoJson/Object/ObjectFunctions.hpp index a89b45e8..2c1916f8 100644 --- a/src/ArduinoJson/Object/ObjectFunctions.hpp +++ b/src/ArduinoJson/Object/ObjectFunctions.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Collection/CollectionData.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Object/ObjectImpl.hpp b/src/ArduinoJson/Object/ObjectImpl.hpp index ab0b8182..d381ac2f 100644 --- a/src/ArduinoJson/Object/ObjectImpl.hpp +++ b/src/ArduinoJson/Object/ObjectImpl.hpp @@ -4,8 +4,8 @@ #pragma once -#include "../Array/ArrayRef.hpp" -#include "ObjectRef.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Object/ObjectIterator.hpp b/src/ArduinoJson/Object/ObjectIterator.hpp index 710a2bd1..e6deb940 100644 --- a/src/ArduinoJson/Object/ObjectIterator.hpp +++ b/src/ArduinoJson/Object/ObjectIterator.hpp @@ -4,8 +4,8 @@ #pragma once -#include "../Variant/SlotFunctions.hpp" -#include "Pair.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Object/ObjectRef.hpp b/src/ArduinoJson/Object/ObjectRef.hpp index 084f66ee..e96f64e7 100644 --- a/src/ArduinoJson/Object/ObjectRef.hpp +++ b/src/ArduinoJson/Object/ObjectRef.hpp @@ -4,8 +4,8 @@ #pragma once -#include "ObjectFunctions.hpp" -#include "ObjectIterator.hpp" +#include +#include // Returns the size (in bytes) of an object with n elements. // Can be very handy to determine the size of a StaticMemoryPool. diff --git a/src/ArduinoJson/Object/ObjectShortcuts.hpp b/src/ArduinoJson/Object/ObjectShortcuts.hpp index bf5f6100..909115bd 100644 --- a/src/ArduinoJson/Object/ObjectShortcuts.hpp +++ b/src/ArduinoJson/Object/ObjectShortcuts.hpp @@ -4,9 +4,9 @@ #pragma once -#include "../Polyfills/attributes.hpp" -#include "../Polyfills/type_traits.hpp" -#include "../Strings/StringAdapters.hpp" +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { template diff --git a/src/ArduinoJson/Object/Pair.hpp b/src/ArduinoJson/Object/Pair.hpp index 9dd8390f..67c6d18b 100644 --- a/src/ArduinoJson/Object/Pair.hpp +++ b/src/ArduinoJson/Object/Pair.hpp @@ -4,8 +4,8 @@ #pragma once -#include "../Strings/String.hpp" -#include "../Variant/VariantRef.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { // A key value pair for CollectionData. diff --git a/src/ArduinoJson/Operators/VariantCasts.hpp b/src/ArduinoJson/Operators/VariantCasts.hpp index 8a5cc368..d820efb3 100644 --- a/src/ArduinoJson/Operators/VariantCasts.hpp +++ b/src/ArduinoJson/Operators/VariantCasts.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Polyfills/attributes.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Operators/VariantComparisons.hpp b/src/ArduinoJson/Operators/VariantComparisons.hpp index db673dc6..eaa5102d 100644 --- a/src/ArduinoJson/Operators/VariantComparisons.hpp +++ b/src/ArduinoJson/Operators/VariantComparisons.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Variant/VariantRef.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Operators/VariantOperators.hpp b/src/ArduinoJson/Operators/VariantOperators.hpp index c71b035e..eba713b8 100644 --- a/src/ArduinoJson/Operators/VariantOperators.hpp +++ b/src/ArduinoJson/Operators/VariantOperators.hpp @@ -4,10 +4,10 @@ #pragma once -#include "VariantCasts.hpp" -#include "VariantComparisons.hpp" -#include "VariantOr.hpp" -#include "VariantShortcuts.hpp" +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Operators/VariantOr.hpp b/src/ArduinoJson/Operators/VariantOr.hpp index f43a9b17..5d6fdbc8 100644 --- a/src/ArduinoJson/Operators/VariantOr.hpp +++ b/src/ArduinoJson/Operators/VariantOr.hpp @@ -4,9 +4,9 @@ #pragma once -#include "../Polyfills/attributes.hpp" -#include "../Polyfills/type_traits.hpp" -#include "../Variant/VariantAs.hpp" +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Operators/VariantShortcuts.hpp b/src/ArduinoJson/Operators/VariantShortcuts.hpp index 6bbeaa5e..4c972a24 100644 --- a/src/ArduinoJson/Operators/VariantShortcuts.hpp +++ b/src/ArduinoJson/Operators/VariantShortcuts.hpp @@ -4,8 +4,8 @@ #pragma once -#include "../Array/ArrayShortcuts.hpp" -#include "../Object/ObjectShortcuts.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Polyfills/alias_cast.hpp b/src/ArduinoJson/Polyfills/alias_cast.hpp index 41c04a76..b8722a5c 100644 --- a/src/ArduinoJson/Polyfills/alias_cast.hpp +++ b/src/ArduinoJson/Polyfills/alias_cast.hpp @@ -6,8 +6,9 @@ #include #include // for size_t -#include "../Configuration.hpp" -#include "../Polyfills/math.hpp" + +#include +#include "math.hpp" namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Polyfills/gsl/not_null.hpp b/src/ArduinoJson/Polyfills/gsl/not_null.hpp index baa01207..ef288e0a 100644 --- a/src/ArduinoJson/Polyfills/gsl/not_null.hpp +++ b/src/ArduinoJson/Polyfills/gsl/not_null.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../assert.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Polyfills/limits.hpp b/src/ArduinoJson/Polyfills/limits.hpp index 0a7b9347..2b6a1d86 100644 --- a/src/ArduinoJson/Polyfills/limits.hpp +++ b/src/ArduinoJson/Polyfills/limits.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Polyfills/type_traits.hpp" +#include "type_traits.hpp" #ifdef _MSC_VER #pragma warning(push) diff --git a/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp b/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp index 6d59a2ae..db0d34f5 100644 --- a/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +++ b/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../../Configuration.hpp" +#include #include "is_same.hpp" namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Serialization/DynamicStringWriter.hpp b/src/ArduinoJson/Serialization/DynamicStringWriter.hpp index 46e34550..2d4cff02 100644 --- a/src/ArduinoJson/Serialization/DynamicStringWriter.hpp +++ b/src/ArduinoJson/Serialization/DynamicStringWriter.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Polyfills/type_traits.hpp" +#include #if ARDUINOJSON_ENABLE_ARDUINO_STRING #include diff --git a/src/ArduinoJson/Serialization/StreamWriter.hpp b/src/ArduinoJson/Serialization/StreamWriter.hpp index 6eb87992..2567a878 100644 --- a/src/ArduinoJson/Serialization/StreamWriter.hpp +++ b/src/ArduinoJson/Serialization/StreamWriter.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Configuration.hpp" +#include #if ARDUINOJSON_ENABLE_STD_STREAM diff --git a/src/ArduinoJson/Serialization/measure.hpp b/src/ArduinoJson/Serialization/measure.hpp index 961c732d..378a284f 100644 --- a/src/ArduinoJson/Serialization/measure.hpp +++ b/src/ArduinoJson/Serialization/measure.hpp @@ -4,7 +4,7 @@ #pragma once -#include "./DummyWriter.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Serialization/serialize.hpp b/src/ArduinoJson/Serialization/serialize.hpp index dfdd8373..a89b2f4a 100644 --- a/src/ArduinoJson/Serialization/serialize.hpp +++ b/src/ArduinoJson/Serialization/serialize.hpp @@ -4,11 +4,11 @@ #pragma once -#include "./DynamicStringWriter.hpp" -#include "./StaticStringWriter.hpp" +#include +#include #if ARDUINOJSON_ENABLE_STD_STREAM -#include "./StreamWriter.hpp" +#include #endif namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/StringStorage/StringCopier.hpp b/src/ArduinoJson/StringStorage/StringCopier.hpp index 026a24f7..d56d88c6 100644 --- a/src/ArduinoJson/StringStorage/StringCopier.hpp +++ b/src/ArduinoJson/StringStorage/StringCopier.hpp @@ -4,8 +4,8 @@ #pragma once -#include "../Memory/MemoryPool.hpp" -#include "../Memory/StringBuilder.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/StringStorage/StringStorage.hpp b/src/ArduinoJson/StringStorage/StringStorage.hpp index aebf776a..8a5794dd 100644 --- a/src/ArduinoJson/StringStorage/StringStorage.hpp +++ b/src/ArduinoJson/StringStorage/StringStorage.hpp @@ -4,8 +4,8 @@ #pragma once -#include "./StringCopier.hpp" -#include "./StringMover.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Strings/ArduinoStringAdapter.hpp b/src/ArduinoJson/Strings/ArduinoStringAdapter.hpp index 0445b8e2..05ea2e98 100644 --- a/src/ArduinoJson/Strings/ArduinoStringAdapter.hpp +++ b/src/ArduinoJson/Strings/ArduinoStringAdapter.hpp @@ -5,7 +5,8 @@ #pragma once #include -#include "../Polyfills/safe_strcmp.hpp" + +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Strings/ConstRamStringAdapter.hpp b/src/ArduinoJson/Strings/ConstRamStringAdapter.hpp index 54f43a9b..3a3cd7a6 100644 --- a/src/ArduinoJson/Strings/ConstRamStringAdapter.hpp +++ b/src/ArduinoJson/Strings/ConstRamStringAdapter.hpp @@ -6,7 +6,8 @@ #include // size_t #include // strcmp -#include "../Polyfills/safe_strcmp.hpp" + +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Strings/FlashStringAdapter.hpp b/src/ArduinoJson/Strings/FlashStringAdapter.hpp index 6747cfa8..40a9b78f 100644 --- a/src/ArduinoJson/Strings/FlashStringAdapter.hpp +++ b/src/ArduinoJson/Strings/FlashStringAdapter.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Polyfills/pgmspace.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Strings/RamStringAdapter.hpp b/src/ArduinoJson/Strings/RamStringAdapter.hpp index 7e1d8a3a..0e10e038 100644 --- a/src/ArduinoJson/Strings/RamStringAdapter.hpp +++ b/src/ArduinoJson/Strings/RamStringAdapter.hpp @@ -4,7 +4,7 @@ #pragma once -#include "ConstRamStringAdapter.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Strings/String.hpp b/src/ArduinoJson/Strings/String.hpp index ff6b63e6..a87c72d5 100644 --- a/src/ArduinoJson/Strings/String.hpp +++ b/src/ArduinoJson/Strings/String.hpp @@ -4,7 +4,7 @@ #pragma once -#include "ConstRamStringAdapter.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Strings/StringAdapters.hpp b/src/ArduinoJson/Strings/StringAdapters.hpp index 6528b6b6..a62c76f3 100644 --- a/src/ArduinoJson/Strings/StringAdapters.hpp +++ b/src/ArduinoJson/Strings/StringAdapters.hpp @@ -4,8 +4,8 @@ #pragma once -#include "../Memory/MemoryPool.hpp" -#include "../Polyfills/type_traits.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { template @@ -18,19 +18,19 @@ template struct IsString : IsString {}; } // namespace ARDUINOJSON_NAMESPACE -#include "ConstRamStringAdapter.hpp" -#include "RamStringAdapter.hpp" -#include "SizedRamStringAdapter.hpp" +#include +#include +#include #if ARDUINOJSON_ENABLE_STD_STRING -#include "StlStringAdapter.hpp" +#include #endif #if ARDUINOJSON_ENABLE_ARDUINO_STRING -#include "ArduinoStringAdapter.hpp" +#include #endif #if ARDUINOJSON_ENABLE_PROGMEM -#include "FlashStringAdapter.hpp" -#include "SizedFlashStringAdapter.hpp" +#include +#include #endif diff --git a/src/ArduinoJson/Variant/SlotFunctions.hpp b/src/ArduinoJson/Variant/SlotFunctions.hpp index e34f4aa2..272ee62a 100644 --- a/src/ArduinoJson/Variant/SlotFunctions.hpp +++ b/src/ArduinoJson/Variant/SlotFunctions.hpp @@ -4,10 +4,8 @@ #pragma once -#include "../Memory/MemoryPool.hpp" -#include "../Polyfills/assert.hpp" -#include "../Strings/StringAdapters.hpp" -#include "VariantData.hpp" +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Variant/VariantAs.hpp b/src/ArduinoJson/Variant/VariantAs.hpp index a6512e6f..4cbe58a8 100644 --- a/src/ArduinoJson/Variant/VariantAs.hpp +++ b/src/ArduinoJson/Variant/VariantAs.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../Serialization/DynamicStringWriter.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Variant/VariantAsImpl.hpp b/src/ArduinoJson/Variant/VariantAsImpl.hpp index 4c7f054c..d686ac98 100644 --- a/src/ArduinoJson/Variant/VariantAsImpl.hpp +++ b/src/ArduinoJson/Variant/VariantAsImpl.hpp @@ -4,9 +4,9 @@ #pragma once -#include "../Serialization/DynamicStringWriter.hpp" -#include "VariantFunctions.hpp" -#include "VariantRef.hpp" +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Variant/VariantContent.hpp b/src/ArduinoJson/Variant/VariantContent.hpp index 71fcc5eb..c1becfe0 100644 --- a/src/ArduinoJson/Variant/VariantContent.hpp +++ b/src/ArduinoJson/Variant/VariantContent.hpp @@ -6,9 +6,9 @@ #include // size_t -#include "../Collection/CollectionData.hpp" -#include "../Numbers/Float.hpp" -#include "../Numbers/Integer.hpp" +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Variant/VariantData.hpp b/src/ArduinoJson/Variant/VariantData.hpp index 28c0fea0..1094b89d 100644 --- a/src/ArduinoJson/Variant/VariantData.hpp +++ b/src/ArduinoJson/Variant/VariantData.hpp @@ -4,10 +4,11 @@ #pragma once -#include "../Misc/SerializedValue.hpp" -#include "../Numbers/convertNumber.hpp" -#include "../Polyfills/gsl/not_null.hpp" -#include "VariantContent.hpp" +#include +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Variant/VariantFunctions.hpp b/src/ArduinoJson/Variant/VariantFunctions.hpp index 7fd9bd6e..5b60942e 100644 --- a/src/ArduinoJson/Variant/VariantFunctions.hpp +++ b/src/ArduinoJson/Variant/VariantFunctions.hpp @@ -4,7 +4,7 @@ #pragma once -#include "VariantData.hpp" +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Variant/VariantImpl.hpp b/src/ArduinoJson/Variant/VariantImpl.hpp index a925b7bb..ec66b2e0 100644 --- a/src/ArduinoJson/Variant/VariantImpl.hpp +++ b/src/ArduinoJson/Variant/VariantImpl.hpp @@ -4,11 +4,11 @@ #pragma once -#include "../Configuration.hpp" -#include "../Numbers/convertNumber.hpp" -#include "../Numbers/parseFloat.hpp" -#include "../Numbers/parseInteger.hpp" -#include "VariantRef.hpp" +#include +#include +#include +#include +#include #include // for strcmp diff --git a/src/ArduinoJson/Variant/VariantRef.hpp b/src/ArduinoJson/Variant/VariantRef.hpp index f6449326..920f07e7 100644 --- a/src/ArduinoJson/Variant/VariantRef.hpp +++ b/src/ArduinoJson/Variant/VariantRef.hpp @@ -7,13 +7,13 @@ #include #include // for uint8_t -#include "../Memory/MemoryPool.hpp" -#include "../Misc/Visitable.hpp" -#include "../Operators/VariantOperators.hpp" -#include "../Polyfills/type_traits.hpp" -#include "VariantAs.hpp" -#include "VariantFunctions.hpp" -#include "VariantRef.hpp" +#include +#include +#include +#include +#include +#include +#include namespace ARDUINOJSON_NAMESPACE { diff --git a/src/ArduinoJson/Variant/VariantSlot.hpp b/src/ArduinoJson/Variant/VariantSlot.hpp index f99ef2de..a17c890f 100644 --- a/src/ArduinoJson/Variant/VariantSlot.hpp +++ b/src/ArduinoJson/Variant/VariantSlot.hpp @@ -4,9 +4,9 @@ #pragma once -#include "../Polyfills/gsl/not_null.hpp" -#include "../Polyfills/type_traits.hpp" -#include "../Variant/VariantContent.hpp" +#include +#include +#include #include // int8_t, int16_t @@ -14,6 +14,8 @@ namespace ARDUINOJSON_NAMESPACE { typedef conditional::type VariantSlotDiff; +class VairantData; + class VariantSlot { // CAUTION: same layout as VariantData // we cannot use composition because it adds padding