Add nullptr_t

This commit is contained in:
Benoit Blanchon committed 2023-07-17 11:20:46 +02:00
1 parent 21bf4973de
commit 1d07abddcd
3 files changed
+9 -5

No files matched your search

+2
View File
@@ -8,6 +8,8 @@
ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
using nullptr_t = decltype(nullptr);
template <class T> template <class T>
T&& forward(typename remove_reference<T>::type& t) noexcept { T&& forward(typename remove_reference<T>::type& t) noexcept {
return static_cast<T&&>(t); return static_cast<T&&>(t);
+4 -3
View File
@@ -6,6 +6,7 @@
#include <ArduinoJson/Json/JsonSerializer.hpp> #include <ArduinoJson/Json/JsonSerializer.hpp>
#include <ArduinoJson/Memory/StringBuilder.hpp> #include <ArduinoJson/Memory/StringBuilder.hpp>
#include <ArduinoJson/Polyfills/utility.hpp>
#include <ArduinoJson/Variant/JsonVariantConst.hpp> #include <ArduinoJson/Variant/JsonVariantConst.hpp>
ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE
@@ -174,11 +175,11 @@ struct Converter<SerializedValue<T>> : private detail::VariantAttorney {
}; };
template <> template <>
struct Converter<decltype(nullptr)> : private detail::VariantAttorney { struct Converter<detail::nullptr_t> : private detail::VariantAttorney {
static void toJson(decltype(nullptr), JsonVariant dst) { static void toJson(detail::nullptr_t, JsonVariant dst) {
detail::VariantData::setNull(getData(dst), getResourceManager(dst)); detail::VariantData::setNull(getData(dst), getResourceManager(dst));
} }
static decltype(nullptr) fromJson(JsonVariantConst) { static detail::nullptr_t fromJson(JsonVariantConst) {
return nullptr; return nullptr;
} }
static bool checkJson(JsonVariantConst src) { static bool checkJson(JsonVariantConst src) {
+3 -2
View File
@@ -7,6 +7,7 @@
#include <ArduinoJson/Configuration.hpp> #include <ArduinoJson/Configuration.hpp>
#include <ArduinoJson/Numbers/arithmeticCompare.hpp> #include <ArduinoJson/Numbers/arithmeticCompare.hpp>
#include <ArduinoJson/Polyfills/type_traits.hpp> #include <ArduinoJson/Polyfills/type_traits.hpp>
#include <ArduinoJson/Polyfills/utility.hpp>
#include <ArduinoJson/Strings/StringAdapters.hpp> #include <ArduinoJson/Strings/StringAdapters.hpp>
#include <ArduinoJson/Variant/JsonVariantVisitor.hpp> #include <ArduinoJson/Variant/JsonVariantVisitor.hpp>
@@ -74,8 +75,8 @@ struct NullComparer : ComparerBase {
}; };
template <> template <>
struct Comparer<decltype(nullptr), void> : NullComparer { struct Comparer<nullptr_t, void> : NullComparer {
explicit Comparer(decltype(nullptr)) : NullComparer() {} explicit Comparer(nullptr_t) : NullComparer() {}
}; };
struct ArrayComparer : ComparerBase { struct ArrayComparer : ComparerBase {