mirror of
https://github.com/eledio-devices/thirdparty-ArduinoJson.git
synced 2025-11-01 00:38:27 +01:00
Added a return value to visitors
This commit is contained in:
@@ -12,11 +12,11 @@
|
||||
namespace ARDUINOJSON_NAMESPACE {
|
||||
|
||||
template <typename TWriter>
|
||||
class JsonSerializer {
|
||||
class JsonSerializer : public Visitor<size_t> {
|
||||
public:
|
||||
JsonSerializer(TWriter writer) : _formatter(writer) {}
|
||||
|
||||
FORCE_INLINE void visitArray(const CollectionData &array) {
|
||||
FORCE_INLINE size_t visitArray(const CollectionData &array) {
|
||||
write('[');
|
||||
|
||||
VariantSlot *slot = array.head();
|
||||
@@ -32,9 +32,10 @@ class JsonSerializer {
|
||||
}
|
||||
|
||||
write(']');
|
||||
return bytesWritten();
|
||||
}
|
||||
|
||||
void visitObject(const CollectionData &object) {
|
||||
size_t visitObject(const CollectionData &object) {
|
||||
write('{');
|
||||
|
||||
VariantSlot *slot = object.head();
|
||||
@@ -52,41 +53,49 @@ class JsonSerializer {
|
||||
}
|
||||
|
||||
write('}');
|
||||
return bytesWritten();
|
||||
}
|
||||
|
||||
void visitFloat(Float value) {
|
||||
size_t visitFloat(Float value) {
|
||||
_formatter.writeFloat(value);
|
||||
return bytesWritten();
|
||||
}
|
||||
|
||||
void visitString(const char *value) {
|
||||
size_t visitString(const char *value) {
|
||||
_formatter.writeString(value);
|
||||
return bytesWritten();
|
||||
}
|
||||
|
||||
void visitRawJson(const char *data, size_t n) {
|
||||
size_t visitRawJson(const char *data, size_t n) {
|
||||
_formatter.writeRaw(data, n);
|
||||
return bytesWritten();
|
||||
}
|
||||
|
||||
void visitNegativeInteger(UInt value) {
|
||||
size_t visitNegativeInteger(UInt value) {
|
||||
_formatter.writeNegativeInteger(value);
|
||||
return bytesWritten();
|
||||
}
|
||||
|
||||
void visitPositiveInteger(UInt value) {
|
||||
size_t visitPositiveInteger(UInt value) {
|
||||
_formatter.writePositiveInteger(value);
|
||||
return bytesWritten();
|
||||
}
|
||||
|
||||
void visitBoolean(bool value) {
|
||||
size_t visitBoolean(bool value) {
|
||||
_formatter.writeBoolean(value);
|
||||
return bytesWritten();
|
||||
}
|
||||
|
||||
void visitNull() {
|
||||
size_t visitNull() {
|
||||
_formatter.writeRaw("null");
|
||||
return bytesWritten();
|
||||
}
|
||||
|
||||
protected:
|
||||
size_t bytesWritten() const {
|
||||
return _formatter.bytesWritten();
|
||||
}
|
||||
|
||||
protected:
|
||||
void write(char c) {
|
||||
_formatter.writeRaw(c);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user