diff --git a/src/ArduinoJson.hpp b/src/ArduinoJson.hpp index 3c9488bf..f786694e 100644 --- a/src/ArduinoJson.hpp +++ b/src/ArduinoJson.hpp @@ -55,7 +55,7 @@ using ARDUINOJSON_NAMESPACE::JsonObject; using ARDUINOJSON_NAMESPACE::JsonObjectConst; using ARDUINOJSON_NAMESPACE::JsonPair; using ARDUINOJSON_NAMESPACE::JsonPairConst; -typedef ARDUINOJSON_NAMESPACE::String JsonString; +using ARDUINOJSON_NAMESPACE::JsonString; using ARDUINOJSON_NAMESPACE::JsonUInt; typedef ARDUINOJSON_NAMESPACE::VariantConstRef JsonVariantConst; typedef ARDUINOJSON_NAMESPACE::VariantRef JsonVariant; diff --git a/src/ArduinoJson/Array/Utilities.hpp b/src/ArduinoJson/Array/Utilities.hpp index cfcebe49..6984a45f 100644 --- a/src/ArduinoJson/Array/Utilities.hpp +++ b/src/ArduinoJson/Array/Utilities.hpp @@ -81,7 +81,7 @@ inline size_t copyArray(JsonArrayConst src, T* dst, size_t len) { // Special case for char[] which must be treated as a string template inline size_t copyArray(VariantConstRef src, char (&dst)[N]) { - String s = src; + JsonString s = src; size_t len = N - 1; if (len > s.size()) len = s.size(); diff --git a/src/ArduinoJson/Collection/CollectionImpl.hpp b/src/ArduinoJson/Collection/CollectionImpl.hpp index 634ab594..f933f527 100644 --- a/src/ArduinoJson/Collection/CollectionImpl.hpp +++ b/src/ArduinoJson/Collection/CollectionImpl.hpp @@ -60,7 +60,8 @@ inline bool CollectionData::copyFrom(const CollectionData& src, for (VariantSlot* s = src._head; s; s = s->next()) { VariantData* var; if (s->key() != 0) { - String key(s->key(), s->ownsKey() ? String::Copied : String::Linked); + JsonString key(s->key(), + s->ownsKey() ? JsonString::Copied : JsonString::Linked); var = addMember(adaptString(key), pool); } else { var = addElement(pool); diff --git a/src/ArduinoJson/Json/JsonDeserializer.hpp b/src/ArduinoJson/Json/JsonDeserializer.hpp index 972bcb24..60fd0ad3 100644 --- a/src/ArduinoJson/Json/JsonDeserializer.hpp +++ b/src/ArduinoJson/Json/JsonDeserializer.hpp @@ -263,7 +263,7 @@ class JsonDeserializer { if (!eat(':')) return DeserializationError::InvalidInput; - String key = _stringStorage.str(); + JsonString key = _stringStorage.str(); TFilter memberFilter = filter[key.c_str()]; diff --git a/src/ArduinoJson/Memory/MemoryPool.hpp b/src/ArduinoJson/Memory/MemoryPool.hpp index fe09a9f3..02af416d 100644 --- a/src/ArduinoJson/Memory/MemoryPool.hpp +++ b/src/ArduinoJson/Memory/MemoryPool.hpp @@ -222,7 +222,7 @@ template bool storeString(MemoryPool* pool, TAdaptedString str, StringStoragePolicy::Copy, TCallback callback) { const char* copy = pool->saveString(str); - String storedString(copy, str.size(), String::Copied); + JsonString storedString(copy, str.size(), JsonString::Copied); callback(storedString); return copy != 0; } @@ -230,7 +230,7 @@ bool storeString(MemoryPool* pool, TAdaptedString str, template bool storeString(MemoryPool*, TAdaptedString str, StringStoragePolicy::Link, TCallback callback) { - String storedString(str.data(), str.size(), String::Linked); + JsonString storedString(str.data(), str.size(), JsonString::Linked); callback(storedString); return !str.isNull(); } diff --git a/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp b/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp index eb8d9ca5..425ee4f8 100644 --- a/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +++ b/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp @@ -470,7 +470,7 @@ class MsgPackDeserializer { if (err) return err; - String key = _stringStorage.str(); + JsonString key = _stringStorage.str(); TFilter memberFilter = filter[key.c_str()]; VariantData* member; diff --git a/src/ArduinoJson/Object/JsonPair.hpp b/src/ArduinoJson/Object/JsonPair.hpp index cad11d7e..0e840ee3 100644 --- a/src/ArduinoJson/Object/JsonPair.hpp +++ b/src/ArduinoJson/Object/JsonPair.hpp @@ -4,7 +4,7 @@ #pragma once -#include +#include #include #include @@ -14,13 +14,13 @@ class JsonPair { public: JsonPair(MemoryPool* pool, VariantSlot* slot) { if (slot) { - _key = String(slot->key(), - slot->ownsKey() ? String::Copied : String::Linked); + _key = JsonString(slot->key(), slot->ownsKey() ? JsonString::Copied + : JsonString::Linked); _value = VariantRef(pool, slot->data()); } } - String key() const { + JsonString key() const { return _key; } @@ -29,7 +29,7 @@ class JsonPair { } private: - String _key; + JsonString _key; VariantRef _value; }; @@ -37,13 +37,13 @@ class JsonPairConst { public: JsonPairConst(const VariantSlot* slot) { if (slot) { - _key = String(slot->key(), - slot->ownsKey() ? String::Copied : String::Linked); + _key = JsonString(slot->key(), slot->ownsKey() ? JsonString::Copied + : JsonString::Linked); _value = VariantConstRef(slot->data()); } } - String key() const { + JsonString key() const { return _key; } @@ -52,7 +52,7 @@ class JsonPairConst { } private: - String _key; + JsonString _key; VariantConstRef _value; }; } // namespace ARDUINOJSON_NAMESPACE diff --git a/src/ArduinoJson/StringStorage/StringCopier.hpp b/src/ArduinoJson/StringStorage/StringCopier.hpp index 2d161b96..ec61c4ed 100644 --- a/src/ArduinoJson/StringStorage/StringCopier.hpp +++ b/src/ArduinoJson/StringStorage/StringCopier.hpp @@ -19,10 +19,11 @@ class StringCopier { _pool->markAsOverflowed(); } - String save() { + JsonString save() { ARDUINOJSON_ASSERT(_ptr); ARDUINOJSON_ASSERT(_size < _capacity); // needs room for the terminator - return String(_pool->saveStringFromFreeZone(_size), _size, String::Copied); + return JsonString(_pool->saveStringFromFreeZone(_size), _size, + JsonString::Copied); } void append(const char* s) { @@ -48,11 +49,11 @@ class StringCopier { return _size; } - String str() const { + JsonString str() const { ARDUINOJSON_ASSERT(_ptr); ARDUINOJSON_ASSERT(_size < _capacity); _ptr[_size] = 0; - return String(_ptr, _size, String::Copied); + return JsonString(_ptr, _size, JsonString::Copied); } private: diff --git a/src/ArduinoJson/StringStorage/StringMover.hpp b/src/ArduinoJson/StringStorage/StringMover.hpp index f4cd1bae..688e9e27 100644 --- a/src/ArduinoJson/StringStorage/StringMover.hpp +++ b/src/ArduinoJson/StringStorage/StringMover.hpp @@ -5,7 +5,7 @@ #pragma once #include -#include +#include namespace ARDUINOJSON_NAMESPACE { @@ -17,8 +17,8 @@ class StringMover { _startPtr = _writePtr; } - FORCE_INLINE String save() { - String s = str(); + FORCE_INLINE JsonString save() { + JsonString s = str(); _writePtr++; return s; } @@ -31,9 +31,9 @@ class StringMover { return true; } - String str() const { + JsonString str() const { _writePtr[0] = 0; // terminator - return String(_startPtr, size(), String::Linked); + return JsonString(_startPtr, size(), JsonString::Linked); } size_t size() const { diff --git a/src/ArduinoJson/Strings/Adapters/JsonString.hpp b/src/ArduinoJson/Strings/Adapters/JsonString.hpp index dec82a6b..69c18d11 100644 --- a/src/ArduinoJson/Strings/Adapters/JsonString.hpp +++ b/src/ArduinoJson/Strings/Adapters/JsonString.hpp @@ -5,14 +5,14 @@ #pragma once #include -#include +#include #include namespace ARDUINOJSON_NAMESPACE { class JsonStringAdapter : public SizedRamString { public: - JsonStringAdapter(const String& s) + JsonStringAdapter(const JsonString& s) : SizedRamString(s.c_str(), s.size()), _linked(s.isLinked()) {} StringStoragePolicy::LinkOrCopy storagePolicy() { @@ -25,10 +25,10 @@ class JsonStringAdapter : public SizedRamString { }; template <> -struct StringAdapter { +struct StringAdapter { typedef JsonStringAdapter AdaptedString; - static AdaptedString adapt(const String& s) { + static AdaptedString adapt(const JsonString& s) { return AdaptedString(s); } }; diff --git a/src/ArduinoJson/Strings/String.hpp b/src/ArduinoJson/Strings/JsonString.hpp similarity index 74% rename from src/ArduinoJson/Strings/String.hpp rename to src/ArduinoJson/Strings/JsonString.hpp index 1371114e..bb42c5c4 100644 --- a/src/ArduinoJson/Strings/String.hpp +++ b/src/ArduinoJson/Strings/JsonString.hpp @@ -12,16 +12,16 @@ namespace ARDUINOJSON_NAMESPACE { -class String : public SafeBoolIdom { +class JsonString : public SafeBoolIdom { public: enum Ownership { Copied, Linked }; - String() : _data(0), _size(0), _ownership(Linked) {} + JsonString() : _data(0), _size(0), _ownership(Linked) {} - String(const char* data, Ownership ownership = Linked) + JsonString(const char* data, Ownership ownership = Linked) : _data(data), _size(data ? ::strlen(data) : 0), _ownership(ownership) {} - String(const char* data, size_t sz, Ownership ownership = Linked) + JsonString(const char* data, size_t sz, Ownership ownership = Linked) : _data(data), _size(sz), _ownership(ownership) {} const char* c_str() const { @@ -45,7 +45,7 @@ class String : public SafeBoolIdom { return _data ? safe_true() : safe_false(); } - friend bool operator==(String lhs, String rhs) { + friend bool operator==(JsonString lhs, JsonString rhs) { if (lhs._size != rhs._size) return false; if (lhs._data == rhs._data) @@ -57,12 +57,12 @@ class String : public SafeBoolIdom { return memcmp(lhs._data, rhs._data, lhs._size) == 0; } - friend bool operator!=(String lhs, String rhs) { + friend bool operator!=(JsonString lhs, JsonString rhs) { return !(lhs == rhs); } #if ARDUINOJSON_ENABLE_STD_STREAM - friend std::ostream& operator<<(std::ostream& lhs, const String& rhs) { + friend std::ostream& operator<<(std::ostream& lhs, const JsonString& rhs) { lhs.write(rhs.c_str(), static_cast(rhs.size())); return lhs; } diff --git a/src/ArduinoJson/Variant/ConverterImpl.hpp b/src/ArduinoJson/Variant/ConverterImpl.hpp index e12fff30..16d5059f 100644 --- a/src/ArduinoJson/Variant/ConverterImpl.hpp +++ b/src/ArduinoJson/Variant/ConverterImpl.hpp @@ -133,12 +133,12 @@ struct Converter : private VariantAttorney { }; template <> -struct Converter : private VariantAttorney { - static void toJson(String src, VariantRef dst) { +struct Converter : private VariantAttorney { + static void toJson(JsonString src, VariantRef dst) { variantSetString(getData(dst), adaptString(src), getPool(dst)); } - static String fromJson(VariantConstRef src) { + static JsonString fromJson(VariantConstRef src) { const VariantData* data = getData(src); return data ? data->asString() : 0; } @@ -207,9 +207,10 @@ class MemoryPoolPrint : public Print { pool->getFreeZone(&_string, &_capacity); } - String str() { + JsonString str() { ARDUINOJSON_ASSERT(_size < _capacity); - return String(_pool->saveStringFromFreeZone(_size), _size, String::Copied); + return JsonString(_pool->saveStringFromFreeZone(_size), _size, + JsonString::Copied); } size_t write(uint8_t c) { @@ -261,7 +262,7 @@ inline void convertToJson(const ::Printable& src, VariantRef dst) { #if ARDUINOJSON_ENABLE_ARDUINO_STRING inline void convertFromJson(VariantConstRef src, ::String& dst) { - String str = src.as(); + JsonString str = src.as(); if (str) dst = str.c_str(); else @@ -269,7 +270,7 @@ inline void convertFromJson(VariantConstRef src, ::String& dst) { } inline bool canConvertFromJson(VariantConstRef src, const ::String&) { - return src.is(); + return src.is(); } #endif @@ -277,7 +278,7 @@ inline bool canConvertFromJson(VariantConstRef src, const ::String&) { #if ARDUINOJSON_ENABLE_STD_STRING inline void convertFromJson(VariantConstRef src, std::string& dst) { - String str = src.as(); + JsonString str = src.as(); if (str) dst.assign(str.c_str(), str.size()); else @@ -285,7 +286,7 @@ inline void convertFromJson(VariantConstRef src, std::string& dst) { } inline bool canConvertFromJson(VariantConstRef src, const std::string&) { - return src.is(); + return src.is(); } #endif @@ -293,13 +294,13 @@ inline bool canConvertFromJson(VariantConstRef src, const std::string&) { #if ARDUINOJSON_ENABLE_STRING_VIEW inline void convertFromJson(VariantConstRef src, std::string_view& dst) { - String str = src.as(); + JsonString str = src.as(); if (str) // the standard doesn't allow passing null to the constructor dst = std::string_view(str.c_str(), str.size()); } inline bool canConvertFromJson(VariantConstRef src, const std::string_view&) { - return src.is(); + return src.is(); } #endif diff --git a/src/ArduinoJson/Variant/VariantData.hpp b/src/ArduinoJson/Variant/VariantData.hpp index 7e0a653b..d086accc 100644 --- a/src/ArduinoJson/Variant/VariantData.hpp +++ b/src/ArduinoJson/Variant/VariantData.hpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include @@ -84,7 +84,7 @@ class VariantData { template T asFloat() const; - String asString() const; + JsonString asString() const; bool asBoolean() const; @@ -217,7 +217,7 @@ class VariantData { setType(VALUE_IS_NULL); } - void setString(String s) { + void setString(JsonString s) { ARDUINOJSON_ASSERT(s); if (s.isLinked()) setType(VALUE_IS_LINKED_STRING); diff --git a/src/ArduinoJson/Variant/VariantImpl.hpp b/src/ArduinoJson/Variant/VariantImpl.hpp index 9479537f..b2f04e05 100644 --- a/src/ArduinoJson/Variant/VariantImpl.hpp +++ b/src/ArduinoJson/Variant/VariantImpl.hpp @@ -70,16 +70,16 @@ inline T VariantData::asFloat() const { } } -inline String VariantData::asString() const { +inline JsonString VariantData::asString() const { switch (type()) { case VALUE_IS_LINKED_STRING: - return String(_content.asString.data, _content.asString.size, - String::Linked); + return JsonString(_content.asString.data, _content.asString.size, + JsonString::Linked); case VALUE_IS_OWNED_STRING: - return String(_content.asString.data, _content.asString.size, - String::Copied); + return JsonString(_content.asString.data, _content.asString.size, + JsonString::Copied); default: - return String(); + return JsonString(); } } @@ -90,7 +90,7 @@ inline bool VariantData::copyFrom(const VariantData& src, MemoryPool* pool) { case VALUE_IS_OBJECT: return toObject().copyFrom(src._content.asCollection, pool); case VALUE_IS_OWNED_STRING: { - String value = src.asString(); + JsonString value = src.asString(); return setString(adaptString(value), pool); } case VALUE_IS_OWNED_RAW: diff --git a/src/ArduinoJson/Variant/VariantSlot.hpp b/src/ArduinoJson/Variant/VariantSlot.hpp index 83ff1d78..5cd53bd3 100644 --- a/src/ArduinoJson/Variant/VariantSlot.hpp +++ b/src/ArduinoJson/Variant/VariantSlot.hpp @@ -76,7 +76,7 @@ class VariantSlot { _next = VariantSlotDiff(slot - this); } - void setKey(String k) { + void setKey(JsonString k) { ARDUINOJSON_ASSERT(k); if (k.isLinked()) _flags &= VALUE_MASK;