From d9cc259df3f3a9f0368e37e749ddeacdbf0f46b7 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Mon, 3 Nov 2014 21:29:19 +0100 Subject: [PATCH] Added declaration for placement new because it was not available in Arduino --- include/ArduinoJson/Internals/PlacementNew.hpp | 15 +++++++++++++++ src/JsonArray.cpp | 5 ++--- src/JsonBuffer.cpp | 3 +-- src/JsonObject.cpp | 2 +- 4 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 include/ArduinoJson/Internals/PlacementNew.hpp diff --git a/include/ArduinoJson/Internals/PlacementNew.hpp b/include/ArduinoJson/Internals/PlacementNew.hpp new file mode 100644 index 00000000..5039c708 --- /dev/null +++ b/include/ArduinoJson/Internals/PlacementNew.hpp @@ -0,0 +1,15 @@ +// Copyright Benoit Blanchon 2014 +// MIT License +// +// Arduino JSON library +// https://github.com/bblanchon/ArduinoJson + +#ifdef ARDUINO + +inline void *operator new(size_t, void *p) throw() { return p; } + +#else + +#include + +#endif \ No newline at end of file diff --git a/src/JsonArray.cpp b/src/JsonArray.cpp index 469105c9..9ec7da0d 100644 --- a/src/JsonArray.cpp +++ b/src/JsonArray.cpp @@ -6,11 +6,10 @@ #include "../include/ArduinoJson/JsonArray.hpp" -#include // required for placement new - +#include "../include/ArduinoJson/Internals/PlacementNew.hpp" +#include "../include/ArduinoJson/Internals/PrettyJsonWriter.hpp" #include "../include/ArduinoJson/JsonBuffer.hpp" #include "../include/ArduinoJson/JsonObject.hpp" -#include "../include/ArduinoJson/Internals/PrettyJsonWriter.hpp" using namespace ArduinoJson; using namespace ArduinoJson::Internals; diff --git a/src/JsonBuffer.cpp b/src/JsonBuffer.cpp index 35aa7b95..b88371c5 100644 --- a/src/JsonBuffer.cpp +++ b/src/JsonBuffer.cpp @@ -6,11 +6,10 @@ #include "../include/ArduinoJson/JsonBuffer.hpp" -#include // required for the placement new - #include "../include/ArduinoJson/JsonArray.hpp" #include "../include/ArduinoJson/JsonObject.hpp" #include "../include/ArduinoJson/JsonValue.hpp" +#include "../include/ArduinoJson/Internals/PlacementNew.hpp" #include "../include/ArduinoJson/Internals/JsonParser.hpp" using namespace ArduinoJson; diff --git a/src/JsonObject.cpp b/src/JsonObject.cpp index 4d02a3ed..37674e82 100644 --- a/src/JsonObject.cpp +++ b/src/JsonObject.cpp @@ -6,7 +6,6 @@ #include "../include/ArduinoJson/JsonObject.hpp" -#include // required for placement new #include // for strcmp #include "../include/ArduinoJson/JsonBuffer.hpp" @@ -14,6 +13,7 @@ #include "../include/ArduinoJson/JsonValue.hpp" #include "../include/ArduinoJson/Internals/PrettyJsonWriter.hpp" #include "../include/ArduinoJson/Internals/StringBuilder.hpp" +#include "../include/ArduinoJson/Internals/PlacementNew.hpp" using namespace ArduinoJson; using namespace ArduinoJson::Internals;