Use float instead of double to reduce the size of JsonVariant (issue #134)

This commit is contained in:
Benoit Blanchon
2015-10-30 23:03:16 +01:00
parent 9f3ce18f06
commit c0cf9c3fcc
15 changed files with 170 additions and 81 deletions

View File

@@ -6,6 +6,9 @@
#pragma once
#include "JsonFloat.hpp"
#include "JsonInteger.hpp"
namespace ArduinoJson {
// Forward declarations
@@ -13,15 +16,14 @@ class JsonArray;
class JsonObject;
namespace Internals {
// A union that defines the actual content of a JsonVariant.
// The enum JsonVariantType determines which member is in use.
union JsonVariantContent {
double asDouble; // asDouble is also used for float
long asLong; // asLong is also used for bool, char, short and int
const char* asString; // asString can be null
JsonArray* asArray; // asArray cannot be null
JsonObject* asObject; // asObject cannot be null
JsonFloat asFloat; // used for double and float
JsonInteger asInteger; // used for bool, char, short, int and longs
const char* asString; // asString can be null
JsonArray* asArray; // asArray cannot be null
JsonObject* asObject; // asObject cannot be null
};
}
}