From ee74c3bb1cb22124c0ca4a1b21f96fcf49132060 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Sun, 22 May 2022 17:07:16 +0200 Subject: [PATCH] Inline `variantAccept()` --- src/ArduinoJson/Variant/VariantFunctions.hpp | 9 --------- src/ArduinoJson/Variant/VariantRef.hpp | 4 +++- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/ArduinoJson/Variant/VariantFunctions.hpp b/src/ArduinoJson/Variant/VariantFunctions.hpp index c6b64f8a..379ea9c0 100644 --- a/src/ArduinoJson/Variant/VariantFunctions.hpp +++ b/src/ArduinoJson/Variant/VariantFunctions.hpp @@ -11,15 +11,6 @@ namespace ARDUINOJSON_NAMESPACE { -template -inline typename TVisitor::result_type variantAccept(const VariantData *var, - TVisitor &visitor) { - if (var != 0) - return var->resolve()->accept(visitor); - else - return visitor.visitNull(); -} - inline const CollectionData *variantAsArray(const VariantData *var) { return var != 0 ? var->resolve()->asArray() : 0; } diff --git a/src/ArduinoJson/Variant/VariantRef.hpp b/src/ArduinoJson/Variant/VariantRef.hpp index 4ab82cd7..a31983f9 100644 --- a/src/ArduinoJson/Variant/VariantRef.hpp +++ b/src/ArduinoJson/Variant/VariantRef.hpp @@ -30,7 +30,9 @@ class VariantRefBase : public VariantTag { public: template typename TVisitor::result_type accept(TVisitor &visitor) const { - return variantAccept(_data, visitor); + if (!_data) + return visitor.visitNull(); + return _data->resolve()->accept(visitor); } FORCE_INLINE bool isNull() const {