From 24f9716287ffd7f835578dd72f9c898cc175a369 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Tue, 29 Mar 2022 12:33:40 +0200 Subject: [PATCH] Move accept() to base class --- src/ArduinoJson/Variant/VariantRef.hpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/ArduinoJson/Variant/VariantRef.hpp b/src/ArduinoJson/Variant/VariantRef.hpp index cd78673a..430866b8 100644 --- a/src/ArduinoJson/Variant/VariantRef.hpp +++ b/src/ArduinoJson/Variant/VariantRef.hpp @@ -48,6 +48,11 @@ class VariantRefBase : public VariantTag { return variantSize(_data); } + template + typename TVisitor::result_type accept(TVisitor &visitor) const { + return variantAccept(_data, visitor); + } + protected: VariantRefBase(TData *data) : _data(data) {} TData *_data; @@ -150,11 +155,6 @@ class VariantRef : public VariantRefBase, return as(); } - template - typename TVisitor::result_type accept(TVisitor &visitor) const { - return variantAccept(_data, visitor); - } - // Change the type of the variant // // ArrayRef to() @@ -242,11 +242,6 @@ class VariantConstRef : public VariantRefBase, VariantConstRef(const VariantData *data) : base_type(data) {} VariantConstRef(VariantRef var) : base_type(var._data) {} - template - typename TVisitor::result_type accept(TVisitor &visitor) const { - return variantAccept(_data, visitor); - } - template FORCE_INLINE typename enable_if::value && !is_same::value,