summaryrefslogtreecommitdiff
path: root/include/lib/ArduinoJson/Deserialization/Readers/VariantReader.hpp
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2021-05-12 09:12:09 +0200
committerDaniel Friesel <daniel.friesel@uos.de>2021-05-12 09:12:09 +0200
commit39895a677e5d370824e702cfe90ebc67737b8482 (patch)
treeff5b4cc9e373d33a795d50d9333e05549bd9f2b8 /include/lib/ArduinoJson/Deserialization/Readers/VariantReader.hpp
parent42e7fdf01c3a5701bb51e93ad6c650c3dbbc5450 (diff)
import ArduinoJson 6.18.0
Diffstat (limited to 'include/lib/ArduinoJson/Deserialization/Readers/VariantReader.hpp')
-rw-r--r--include/lib/ArduinoJson/Deserialization/Readers/VariantReader.hpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/lib/ArduinoJson/Deserialization/Readers/VariantReader.hpp b/include/lib/ArduinoJson/Deserialization/Readers/VariantReader.hpp
new file mode 100644
index 0000000..e56e262
--- /dev/null
+++ b/include/lib/ArduinoJson/Deserialization/Readers/VariantReader.hpp
@@ -0,0 +1,34 @@
+// ArduinoJson - https://arduinojson.org
+// Copyright Benoit Blanchon 2014-2021
+// MIT License
+
+#pragma once
+
+#include <ArduinoJson/Object/MemberProxy.hpp>
+#include <ArduinoJson/Variant/VariantRef.hpp>
+
+namespace ARDUINOJSON_NAMESPACE {
+
+template <typename TArray>
+struct Reader<ElementProxy<TArray>, void> : Reader<char*, void> {
+ explicit Reader(const ElementProxy<TArray>& x)
+ : Reader<char*, void>(x.template as<const char*>()) {}
+};
+
+template <typename TObject, typename TStringRef>
+struct Reader<MemberProxy<TObject, TStringRef>, void> : Reader<char*, void> {
+ explicit Reader(const MemberProxy<TObject, TStringRef>& x)
+ : Reader<char*, void>(x.template as<const char*>()) {}
+};
+
+template <>
+struct Reader<VariantRef, void> : Reader<char*, void> {
+ explicit Reader(VariantRef x) : Reader<char*, void>(x.as<const char*>()) {}
+};
+
+template <>
+struct Reader<VariantConstRef, void> : Reader<char*, void> {
+ explicit Reader(VariantConstRef x)
+ : Reader<char*, void>(x.as<const char*>()) {}
+};
+} // namespace ARDUINOJSON_NAMESPACE