Rename String to JsonString

This commit is contained in:
Benoit Blanchon
2022-12-19 12:02:48 +01:00
parent d0b619ea93
commit b8eff868e6
15 changed files with 61 additions and 58 deletions

View File

@ -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;

View File

@ -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 <size_t N>
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();

View File

@ -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);

View File

@ -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()];

View File

@ -222,7 +222,7 @@ template <typename TAdaptedString, typename TCallback>
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 <typename TAdaptedString, typename TCallback>
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();
}

View File

@ -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;

View File

@ -4,7 +4,7 @@
#pragma once
#include <ArduinoJson/Strings/String.hpp>
#include <ArduinoJson/Strings/JsonString.hpp>
#include <ArduinoJson/Variant/VariantConstRef.hpp>
#include <ArduinoJson/Variant/VariantRef.hpp>
@ -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

View File

@ -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:

View File

@ -5,7 +5,7 @@
#pragma once
#include <ArduinoJson/Namespace.hpp>
#include <ArduinoJson/Strings/String.hpp>
#include <ArduinoJson/Strings/JsonString.hpp>
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 {

View File

@ -5,14 +5,14 @@
#pragma once
#include <ArduinoJson/Strings/Adapters/RamString.hpp>
#include <ArduinoJson/Strings/String.hpp>
#include <ArduinoJson/Strings/JsonString.hpp>
#include <ArduinoJson/Strings/StringAdapter.hpp>
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<String> {
struct StringAdapter<JsonString> {
typedef JsonStringAdapter AdaptedString;
static AdaptedString adapt(const String& s) {
static AdaptedString adapt(const JsonString& s) {
return AdaptedString(s);
}
};

View File

@ -12,16 +12,16 @@
namespace ARDUINOJSON_NAMESPACE {
class String : public SafeBoolIdom<String> {
class JsonString : public SafeBoolIdom<JsonString> {
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<String> {
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<String> {
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<std::streamsize>(rhs.size()));
return lhs;
}

View File

@ -133,12 +133,12 @@ struct Converter<const char*> : private VariantAttorney {
};
template <>
struct Converter<String> : private VariantAttorney {
static void toJson(String src, VariantRef dst) {
struct Converter<JsonString> : 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<String>();
JsonString str = src.as<JsonString>();
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<String>();
return src.is<JsonString>();
}
#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<String>();
JsonString str = src.as<JsonString>();
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<String>();
return src.is<JsonString>();
}
#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<String>();
JsonString str = src.as<JsonString>();
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<String>();
return src.is<JsonString>();
}
#endif

View File

@ -7,7 +7,7 @@
#include <ArduinoJson/Memory/MemoryPool.hpp>
#include <ArduinoJson/Misc/SerializedValue.hpp>
#include <ArduinoJson/Numbers/convertNumber.hpp>
#include <ArduinoJson/Strings/String.hpp>
#include <ArduinoJson/Strings/JsonString.hpp>
#include <ArduinoJson/Strings/StringAdapters.hpp>
#include <ArduinoJson/Variant/VariantContent.hpp>
@ -84,7 +84,7 @@ class VariantData {
template <typename T>
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);

View File

@ -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:

View File

@ -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;