diff --git a/src/ArduinoJson/Array/Utilities.hpp b/src/ArduinoJson/Array/Utilities.hpp index 8eab7e1f..6deba8fe 100644 --- a/src/ArduinoJson/Array/Utilities.hpp +++ b/src/ArduinoJson/Array/Utilities.hpp @@ -6,6 +6,7 @@ #include #include +#include namespace ARDUINOJSON_NAMESPACE { @@ -81,38 +82,6 @@ class ArrayCopier1D : public Visitor { return size; } - size_t visitObject(const CollectionData&) { - return 0; - } - - size_t visitFloat(Float) { - return 0; - } - - size_t visitString(const char*) { - return 0; - } - - size_t visitRawJson(const char*, size_t) { - return 0; - } - - size_t visitNegativeInteger(UInt) { - return 0; - } - - size_t visitPositiveInteger(UInt) { - return 0; - } - - size_t visitBoolean(bool) { - return 0; - } - - size_t visitNull() { - return 0; - } - private: T* _destination; size_t _capacity; @@ -132,14 +101,6 @@ class ArrayCopier2D : public Visitor { slot = slot->next(); } } - void visitObject(const CollectionData&) {} - void visitFloat(Float) {} - void visitString(const char*) {} - void visitRawJson(const char*, size_t) {} - void visitNegativeInteger(UInt) {} - void visitPositiveInteger(UInt) {} - void visitBoolean(bool) {} - void visitNull() {} private: T (*_destination)[N1][N2]; diff --git a/src/ArduinoJson/Misc/Visitable.hpp b/src/ArduinoJson/Misc/Visitable.hpp index 9b4d47a8..8dba09a6 100644 --- a/src/ArduinoJson/Misc/Visitable.hpp +++ b/src/ArduinoJson/Misc/Visitable.hpp @@ -8,11 +8,6 @@ namespace ARDUINOJSON_NAMESPACE { -template -struct Visitor { - typedef TResult result_type; -}; - struct Visitable { // template // void accept(Visitor&) const; @@ -22,5 +17,5 @@ template struct IsVisitable : is_base_of {}; template -struct IsVisitable : IsVisitable {}; +struct IsVisitable : IsVisitable {}; } // namespace ARDUINOJSON_NAMESPACE diff --git a/src/ArduinoJson/Variant/VariantCompare.hpp b/src/ArduinoJson/Variant/VariantCompare.hpp index 4387677a..2d5f6b9b 100644 --- a/src/ArduinoJson/Variant/VariantCompare.hpp +++ b/src/ArduinoJson/Variant/VariantCompare.hpp @@ -9,40 +9,13 @@ #include #include #include +#include namespace ARDUINOJSON_NAMESPACE { class CollectionData; -struct ComparerBase : Visitor { - CompareResult visitArray(const CollectionData &) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitBoolean(bool) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitFloat(Float) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitNegativeInteger(UInt) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitNull() { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitObject(const CollectionData &) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitPositiveInteger(UInt) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitRawJson(const char *, size_t) { - return COMPARE_RESULT_DIFFER; - } - CompareResult visitString(const char *) { - return COMPARE_RESULT_DIFFER; - } -}; +struct ComparerBase : Visitor {}; template struct Comparer; diff --git a/src/ArduinoJson/Variant/Visitor.hpp b/src/ArduinoJson/Variant/Visitor.hpp new file mode 100644 index 00000000..aca53e0c --- /dev/null +++ b/src/ArduinoJson/Variant/Visitor.hpp @@ -0,0 +1,54 @@ +// ArduinoJson - arduinojson.org +// Copyright Benoit Blanchon 2014-2021 +// MIT License + +#pragma once + +#include +#include +#include + +namespace ARDUINOJSON_NAMESPACE { + +template +struct Visitor { + typedef TResult result_type; + + TResult visitArray(const CollectionData &) { + return TResult(); + } + + TResult visitBoolean(bool) { + return TResult(); + } + + TResult visitFloat(Float) { + return TResult(); + } + + TResult visitNegativeInteger(UInt) { + return TResult(); + } + + TResult visitNull() { + return TResult(); + } + + TResult visitObject(const CollectionData &) { + return TResult(); + } + + TResult visitPositiveInteger(UInt) { + return TResult(); + } + + TResult visitRawJson(const char *, size_t) { + return TResult(); + } + + TResult visitString(const char *) { + return TResult(); + } +}; + +} // namespace ARDUINOJSON_NAMESPACE