// Copyright Benoit Blanchon 2014-2015 // MIT License // // Arduino JSON library // https://github.com/bblanchon/ArduinoJson #pragma once namespace ArduinoJson { // Forward declarations class JsonArray; class JsonObject; namespace Internals { template <> inline bool JsonVariantContent::as() const { return asBoolean; } template <> inline char const* JsonVariantContent::as() const { return asString; } template <> inline double JsonVariantContent::as() const { return asDouble; } template <> inline float JsonVariantContent::as() const { return static_cast(asDouble); } template <> inline JsonArray& JsonVariantContent::as() const { return *asArray; } template <> inline const JsonArray& JsonVariantContent::as() const { return *asArray; } template <> inline JsonObject& JsonVariantContent::as() const { return *asObject; } template <> inline const JsonObject& JsonVariantContent::as() const { return *asObject; } template <> inline signed char JsonVariantContent::as() const { return static_cast(asLong); } template <> inline signed int JsonVariantContent::as() const { return static_cast(asLong); } template <> inline signed long JsonVariantContent::as() const { return static_cast(asLong); } template <> inline signed short JsonVariantContent::as() const { return static_cast(asLong); } template <> inline unsigned char JsonVariantContent::as() const { return static_cast(asLong); } template <> inline unsigned int JsonVariantContent::as() const { return static_cast(asLong); } template <> inline unsigned long JsonVariantContent::as() const { return static_cast(asLong); } template <> inline unsigned short JsonVariantContent::as() const { return static_cast(asLong); } } }