Remove undocumented accept() functions

This commit is contained in:
Benoit Blanchon
2022-07-03 15:51:01 +02:00
parent 77b4270d97
commit 5b06b1564e
11 changed files with 16 additions and 36 deletions

View File

@ -26,11 +26,6 @@ class ArrayRefBase {
return VariantConstRef(getVariantData());
}
template <typename TVisitor>
FORCE_INLINE typename TVisitor::result_type accept(TVisitor& visitor) const {
return arrayAccept(_data, visitor);
}
FORCE_INLINE bool isNull() const {
return _data == 0;
}

View File

@ -127,11 +127,6 @@ class ElementProxy : public VariantOperators<ElementProxy<TArray> >,
return getOrAddUpstreamElement().set(value);
}
template <typename TVisitor>
typename TVisitor::result_type accept(TVisitor& visitor) const {
return getUpstreamElementConst().accept(visitor);
}
FORCE_INLINE size_t size() const {
return getUpstreamElementConst().size();
}

View File

@ -16,11 +16,6 @@ namespace ARDUINOJSON_NAMESPACE {
class JsonDocument : public VariantOperators<const JsonDocument&> {
public:
template <typename TVisitor>
typename TVisitor::result_type accept(TVisitor& visitor) const {
return getVariant().accept(visitor);
}
template <typename T>
T as() {
return getVariant().template as<T>();

View File

@ -154,11 +154,6 @@ class MemberProxy : public VariantOperators<MemberProxy<TObject, TStringRef> >,
return getOrAddUpstreamMember().set(value);
}
template <typename TVisitor>
typename TVisitor::result_type accept(TVisitor &visitor) const {
return getUpstreamMemberConst().accept(visitor);
}
FORCE_INLINE VariantRef addElement() const {
return getOrAddUpstreamMember().addElement();
}

View File

@ -21,11 +21,6 @@ class ObjectRefBase {
return VariantConstRef(getVariantData());
}
template <typename TVisitor>
typename TVisitor::result_type accept(TVisitor& visitor) const {
return objectAccept(_data, visitor);
}
FORCE_INLINE bool isNull() const {
return _data == 0;
}

View File

@ -5,6 +5,7 @@
#pragma once
#include <ArduinoJson/Serialization/Writers/DummyWriter.hpp>
#include <ArduinoJson/Variant/VariantFunctions.hpp>
namespace ARDUINOJSON_NAMESPACE {
@ -12,7 +13,7 @@ template <template <typename> class TSerializer>
size_t measure(VariantConstRef source) {
DummyWriter dp;
TSerializer<DummyWriter> serializer(dp);
return source.accept(serializer);
return variantAccept(getData(source), serializer);
}
} // namespace ARDUINOJSON_NAMESPACE

View File

@ -5,13 +5,14 @@
#pragma once
#include <ArduinoJson/Serialization/Writer.hpp>
#include <ArduinoJson/Variant/VariantFunctions.hpp>
namespace ARDUINOJSON_NAMESPACE {
template <template <typename> class TSerializer, typename TWriter>
size_t doSerialize(VariantConstRef source, TWriter writer) {
TSerializer<TWriter> serializer(writer);
return source.accept(serializer);
return variantAccept(getData(source), serializer);
}
template <template <typename> class TSerializer, typename TDestination>

View File

@ -180,7 +180,7 @@ struct VariantComparer : ComparerBase {
private:
template <typename TComparer>
CompareResult accept(TComparer &comparer) {
CompareResult reversedResult = rhs.accept(comparer);
CompareResult reversedResult = variantAccept(getData(rhs), comparer);
switch (reversedResult) {
case COMPARE_RESULT_GREATER:
return COMPARE_RESULT_LESS;
@ -203,7 +203,7 @@ struct Comparer<
template <typename T>
CompareResult compare(VariantConstRef lhs, const T &rhs) {
Comparer<T> comparer(rhs);
return lhs.accept(comparer);
return variantAccept(getData(lhs), comparer);
}
} // namespace ARDUINOJSON_NAMESPACE

View File

@ -11,6 +11,15 @@
namespace ARDUINOJSON_NAMESPACE {
template <typename TVisitor>
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;
}

View File

@ -27,13 +27,6 @@ class ObjectRef;
template <typename TData>
class VariantRefBase : public VariantTag {
public:
template <typename TVisitor>
typename TVisitor::result_type accept(TVisitor &visitor) const {
if (!_data)
return visitor.visitNull();
return _data->resolve()->accept(visitor);
}
FORCE_INLINE bool isNull() const {
return variantIsNull(_data);
}