From efa55eb5b3d3a4942789bdf397c3a6d6226475d4 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 7 Sep 2020 12:57:22 +0200 Subject: Revert "remove external libraries from main branch" This reverts commit 0558244645611f314f47e0fa427f7323ce253eaf. --- .../ArduinoJson/Deserialization/StringWriter.hpp | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 include/lib/ArduinoJson/Deserialization/StringWriter.hpp (limited to 'include/lib/ArduinoJson/Deserialization/StringWriter.hpp') diff --git a/include/lib/ArduinoJson/Deserialization/StringWriter.hpp b/include/lib/ArduinoJson/Deserialization/StringWriter.hpp new file mode 100644 index 0000000..fd5507e --- /dev/null +++ b/include/lib/ArduinoJson/Deserialization/StringWriter.hpp @@ -0,0 +1,41 @@ +// ArduinoJson - arduinojson.org +// Copyright Benoit Blanchon 2014-2018 +// MIT License + +#pragma once + +namespace ArduinoJson { +namespace Internals { + +template +class StringWriter { + public: + class String { + public: + String(TChar** ptr) : _writePtr(ptr), _startPtr(*ptr) {} + + void append(char c) { + *(*_writePtr)++ = TChar(c); + } + + const char* c_str() const { + *(*_writePtr)++ = 0; + return reinterpret_cast(_startPtr); + } + + private: + TChar** _writePtr; + TChar* _startPtr; + }; + + StringWriter(TChar* buffer) : _ptr(buffer) {} + + String startString() { + return String(&_ptr); + } + + private: + TChar* _ptr; +}; +} +} -- cgit v1.2.3