Minh Nguyen / ArduinoJson
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers VariantReader.hpp Source File

VariantReader.hpp

00001 // ArduinoJson - arduinojson.org
00002 // Copyright Benoit Blanchon 2014-2021
00003 // MIT License
00004 
00005 #pragma once
00006 
00007 #include <ArduinoJson/Object/MemberProxy.hpp>
00008 #include <ArduinoJson/Variant/VariantRef.hpp>
00009 
00010 namespace ARDUINOJSON_NAMESPACE {
00011 
00012 template <typename TArray>
00013 struct Reader<ElementProxy<TArray>, void> : Reader<char*, void> {
00014   explicit Reader(const ElementProxy<TArray>& x)
00015       : Reader<char*, void>(x.template as<const char*>()) {}
00016 };
00017 
00018 template <typename TObject, typename TStringRef>
00019 struct Reader<MemberProxy<TObject, TStringRef>, void> : Reader<char*, void> {
00020   explicit Reader(const MemberProxy<TObject, TStringRef>& x)
00021       : Reader<char*, void>(x.template as<const char*>()) {}
00022 };
00023 
00024 template <>
00025 struct Reader<VariantRef, void> : Reader<char*, void> {
00026   explicit Reader(VariantRef x) : Reader<char*, void>(x.as<const char*>()) {}
00027 };
00028 
00029 template <>
00030 struct Reader<VariantConstRef, void> : Reader<char*, void> {
00031   explicit Reader(VariantConstRef x)
00032       : Reader<char*, void>(x.as<const char*>()) {}
00033 };
00034 }  // namespace ARDUINOJSON_NAMESPACE