From 9b3e3a3d9cfb3119c57599bc88054fd17b1d09c1 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Wed, 18 May 2016 09:17:45 +0200 Subject: [PATCH] Renamed `JsonVariant::invalid()` to `JsonVariant::defaultValue()` --- CHANGELOG.md | 1 + include/ArduinoJson/JsonArray.ipp | 6 +++--- include/ArduinoJson/JsonObject.ipp | 9 ++++----- include/ArduinoJson/JsonVariant.hpp | 7 +++++-- include/ArduinoJson/JsonVariant.ipp | 5 ----- 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fc53bd0..2adc4391 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ HEAD ---- * Added `JsonVariant::success()` (issue #279) +* Renamed `JsonVariant::invalid()` to `JsonVariant::defaultValue()` v5.4.0 ------ diff --git a/include/ArduinoJson/JsonArray.ipp b/include/ArduinoJson/JsonArray.ipp index 98cd06e4..d46d7364 100644 --- a/include/ArduinoJson/JsonArray.ipp +++ b/include/ArduinoJson/JsonArray.ipp @@ -55,7 +55,7 @@ inline JsonVariant JsonArray::get(size_t index) const { template inline T JsonArray::get(size_t index) const { node_type *node = getNodeAt(index); - return node ? node->content.as() : JsonVariant::invalid(); + return node ? node->content.as() : JsonVariant::defaultValue(); } template @@ -71,12 +71,12 @@ inline const JsonArraySubscript JsonVariantBase::operator[]( } template <> -inline JsonArray &JsonVariant::invalid() { +inline JsonArray &JsonVariant::defaultValue() { return JsonArray::invalid(); } template <> -inline JsonArray const &JsonVariant::invalid() { +inline JsonArray const &JsonVariant::defaultValue() { return JsonArray::invalid(); } diff --git a/include/ArduinoJson/JsonObject.ipp b/include/ArduinoJson/JsonObject.ipp index 8c28193a..afe2c40f 100644 --- a/include/ArduinoJson/JsonObject.ipp +++ b/include/ArduinoJson/JsonObject.ipp @@ -21,7 +21,7 @@ inline JsonVariant JsonObject::get(JsonObjectKey key) const { template inline T JsonObject::get(JsonObjectKey key) const { node_type *node = getNodeAt(key.c_str()); - return node ? node->content.value.as() : JsonVariant::invalid(); + return node ? node->content.value.as() : JsonVariant::defaultValue(); } template @@ -57,8 +57,7 @@ inline bool JsonObject::setNodeAt(JsonObjectKey key, T value) { node_type *node = getNodeAt(key.c_str()); if (!node) { node = addNewNode(); - if (!node || !setNodeKey(node, key)) - return false; + if (!node || !setNodeKey(node, key)) return false; } return setNodeValue(node, value); } @@ -104,12 +103,12 @@ operator[](const String &key) const { } template <> -inline JsonObject const &JsonVariant::invalid() { +inline JsonObject const &JsonVariant::defaultValue() { return JsonObject::invalid(); } template <> -inline JsonObject &JsonVariant::invalid() { +inline JsonObject &JsonVariant::defaultValue() { return JsonObject::invalid(); } diff --git a/include/ArduinoJson/JsonVariant.hpp b/include/ArduinoJson/JsonVariant.hpp index b5329558..c32ac90a 100644 --- a/include/ArduinoJson/JsonVariant.hpp +++ b/include/ArduinoJson/JsonVariant.hpp @@ -256,14 +256,17 @@ class JsonVariant : public JsonVariantBase { return isObject(); } + // Returns true if the variant has a value bool success() const { return _type != Internals::JSON_UNDEFINED; } // Serialize the variant to a JsonWriter void writeTo(Internals::JsonWriter &writer) const; - // TODO: rename + // Value returned if the variant has an incompatible type template - static T invalid(); + static T defaultValue() { + return T(); + } const char *asString() const; JsonArray &asArray() const; diff --git a/include/ArduinoJson/JsonVariant.ipp b/include/ArduinoJson/JsonVariant.ipp index ecd9bde4..d01bbfa6 100644 --- a/include/ArduinoJson/JsonVariant.ipp +++ b/include/ArduinoJson/JsonVariant.ipp @@ -41,11 +41,6 @@ inline JsonVariant::JsonVariant(JsonObject &object) { _content.asObject = &object; } -template -inline T JsonVariant::invalid() { - return T(); -} - inline Internals::JsonInteger JsonVariant::asInteger() const { using namespace Internals; switch (_type) {