Added support of long long (issue #171)

Moved all build settings to `ArduinoJson/Configuration.hpp`
Added AppVeyor settings in source tree
This commit is contained in:
Benoit Blanchon
2016-02-14 16:18:13 +01:00
parent ce63e9c3c3
commit 8733f95e51
53 changed files with 945 additions and 869 deletions

View File

@@ -20,31 +20,7 @@ class JsonObjectSubscript;
template <typename TImpl>
class JsonVariantBase : public Internals::JsonPrintable<TImpl> {
public:
// Gets the variant as a boolean value.
// Returns false if the variant is not a boolean value.
FORCE_INLINE operator bool() const { return as<bool>(); }
// Gets the variant as a floating-point value.
// Returns 0.0 if the variant is not a floating-point value
FORCE_INLINE operator double() const { return as<double>(); }
FORCE_INLINE operator float() const { return as<float>(); }
// Gets the variant as an integer value.
// Returns 0 if the variant is not an integer value.
FORCE_INLINE operator signed long() const { return as<signed long>(); }
FORCE_INLINE operator signed char() const { return as<signed char>(); }
FORCE_INLINE operator signed int() const { return as<signed int>(); }
FORCE_INLINE operator signed short() const { return as<signed short>(); }
FORCE_INLINE operator unsigned char() const { return as<unsigned char>(); }
FORCE_INLINE operator unsigned int() const { return as<unsigned int>(); }
FORCE_INLINE operator unsigned long() const { return as<unsigned long>(); }
FORCE_INLINE operator unsigned short() const { return as<unsigned short>(); }
// Gets the variant as a string.
// Returns NULL if variant is not a string.
FORCE_INLINE operator const char *() const { return as<const char *>(); }
FORCE_INLINE const char *asString() const { return as<const char *>(); }
FORCE_INLINE operator String() const { return as<String>(); }
// Gets the variant as an array.
// Returns a reference to the JsonArray or JsonArray::invalid() if the
@@ -59,6 +35,11 @@ class JsonVariantBase : public Internals::JsonPrintable<TImpl> {
FORCE_INLINE operator JsonObject &() const { return as<JsonObject &>(); }
FORCE_INLINE JsonObject &asObject() const { return as<JsonObject &>(); }
template <typename T>
FORCE_INLINE operator T() const {
return as<T>();
}
template <typename T>
FORCE_INLINE const T as() const {
return impl()->template as<T>();