diff options
Diffstat (limited to 'include/lib/ArduinoJson/Data/JsonVariantAs.hpp')
-rw-r--r-- | include/lib/ArduinoJson/Data/JsonVariantAs.hpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/include/lib/ArduinoJson/Data/JsonVariantAs.hpp b/include/lib/ArduinoJson/Data/JsonVariantAs.hpp new file mode 100644 index 0000000..8f202c5 --- /dev/null +++ b/include/lib/ArduinoJson/Data/JsonVariantAs.hpp @@ -0,0 +1,42 @@ +// ArduinoJson - arduinojson.org +// Copyright Benoit Blanchon 2014-2018 +// MIT License + +#pragma once + +namespace ArduinoJson { +namespace Internals { + +// A metafunction that returns the type of the value returned by +// JsonVariant::as<T>() +template <typename T> +struct JsonVariantAs { + typedef T type; +}; + +template <> +struct JsonVariantAs<char*> { + typedef const char* type; +}; + +template <> +struct JsonVariantAs<JsonArray> { + typedef JsonArray& type; +}; + +template <> +struct JsonVariantAs<const JsonArray> { + typedef const JsonArray& type; +}; + +template <> +struct JsonVariantAs<JsonObject> { + typedef JsonObject& type; +}; + +template <> +struct JsonVariantAs<const JsonObject> { + typedef const JsonObject& type; +}; +} +} |