diff --git a/include/ArduinoJson/ForwardDeclarations.hpp b/include/ArduinoJson/ForwardDeclarations.hpp deleted file mode 100644 index 1ca4b297..00000000 --- a/include/ArduinoJson/ForwardDeclarations.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright Benoit Blanchon 2014 -// MIT License -// -// Arduino JSON library -// https://github.com/bblanchon/ArduinoJson - -#pragma once - -namespace ArduinoJson { -class JsonArray; -class JsonBuffer; -class JsonObject; - -namespace Internals { -class IndentedPrint; -class JsonWriter; -} -} diff --git a/include/ArduinoJson/Internals/JsonValueContent.hpp b/include/ArduinoJson/Internals/JsonValueContent.hpp index 59ebcec1..af9b7c08 100644 --- a/include/ArduinoJson/Internals/JsonValueContent.hpp +++ b/include/ArduinoJson/Internals/JsonValueContent.hpp @@ -6,9 +6,11 @@ #pragma once -#include "../ForwardDeclarations.hpp" - namespace ArduinoJson { + +class JsonArray; +class JsonObject; + namespace Internals { union JsonValueContent { diff --git a/include/ArduinoJson/JsonArray.hpp b/include/ArduinoJson/JsonArray.hpp index 30e4bea7..111ec23a 100644 --- a/include/ArduinoJson/JsonArray.hpp +++ b/include/ArduinoJson/JsonArray.hpp @@ -6,18 +6,19 @@ #pragma once -#include "ForwardDeclarations.hpp" -#include "JsonArrayIterator.hpp" -#include "JsonArrayConstIterator.hpp" -#include "JsonPrintable.hpp" -#include "JsonObject.hpp" #include "Internals/ReferenceType.hpp" +#include "JsonArrayConstIterator.hpp" +#include "JsonArrayIterator.hpp" +#include "JsonPrintable.hpp" #define JSON_ARRAY_SIZE(NUMBER_OF_ELEMENTS) \ (sizeof(JsonArray) + (NUMBER_OF_ELEMENTS) * sizeof(Internals::JsonArrayNode)) namespace ArduinoJson { +class JsonObject; +class JsonBuffer; + class JsonArray : public JsonPrintable, public Internals::ReferenceType { friend class JsonBuffer; diff --git a/include/ArduinoJson/JsonBuffer.hpp b/include/ArduinoJson/JsonBuffer.hpp index b16a321d..65ed2b72 100644 --- a/include/ArduinoJson/JsonBuffer.hpp +++ b/include/ArduinoJson/JsonBuffer.hpp @@ -6,10 +6,11 @@ #pragma once -#include "ForwardDeclarations.hpp" #include "JsonValue.hpp" namespace ArduinoJson { +class JsonArray; +class JsonObject; class JsonBuffer { public: diff --git a/include/ArduinoJson/JsonObject.hpp b/include/ArduinoJson/JsonObject.hpp index 6243e591..346ad3a4 100644 --- a/include/ArduinoJson/JsonObject.hpp +++ b/include/ArduinoJson/JsonObject.hpp @@ -6,9 +6,7 @@ #pragma once -#include "Internals/JsonObjectNode.hpp" #include "Internals/ReferenceType.hpp" -#include "JsonArray.hpp" #include "JsonObjectConstIterator.hpp" #include "JsonObjectIterator.hpp" #include "JsonPrintable.hpp" @@ -19,6 +17,9 @@ namespace ArduinoJson { +class JsonArray; +class JsonBuffer; + class JsonObject : public JsonPrintable, public Internals::ReferenceType { friend class JsonBuffer; diff --git a/include/ArduinoJson/JsonPair.hpp b/include/ArduinoJson/JsonPair.hpp index 7176e496..670bdef9 100644 --- a/include/ArduinoJson/JsonPair.hpp +++ b/include/ArduinoJson/JsonPair.hpp @@ -7,7 +7,6 @@ #pragma once #include "JsonValue.hpp" -#include "Internals/JsonObjectNode.hpp" namespace ArduinoJson { @@ -17,4 +16,4 @@ struct JsonPair { const char* key; JsonValue value; }; -} \ No newline at end of file +} diff --git a/include/ArduinoJson/JsonPrintable.hpp b/include/ArduinoJson/JsonPrintable.hpp index 8e6d2714..39656922 100644 --- a/include/ArduinoJson/JsonPrintable.hpp +++ b/include/ArduinoJson/JsonPrintable.hpp @@ -6,11 +6,15 @@ #pragma once -#include "ForwardDeclarations.hpp" #include "Arduino/Printable.hpp" namespace ArduinoJson { +namespace Internals { +class IndentedPrint; +class JsonWriter; +} + class JsonPrintable : public Printable { public: size_t printTo(char *buffer, size_t bufferSize) const; diff --git a/include/ArduinoJson/JsonValue.hpp b/include/ArduinoJson/JsonValue.hpp index 2a5c9a2b..7d469061 100644 --- a/include/ArduinoJson/JsonValue.hpp +++ b/include/ArduinoJson/JsonValue.hpp @@ -8,11 +8,18 @@ #include -#include "ForwardDeclarations.hpp" #include "Internals/JsonValueContent.hpp" #include "Internals/JsonValueType.hpp" namespace ArduinoJson { + +class JsonArray; +class JsonObject; + +namespace Internals { +class JsonWriter; +} + class JsonValue { public: JsonValue() : _type(Internals::JSON_UNDEFINED) {}