diff options
author | Daniel Friesel <daniel.friesel@uos.de> | 2020-09-07 12:57:22 +0200 |
---|---|---|
committer | Daniel Friesel <daniel.friesel@uos.de> | 2020-09-07 12:57:22 +0200 |
commit | efa55eb5b3d3a4942789bdf397c3a6d6226475d4 (patch) | |
tree | a3a3f3079bbff203ca6c70544b4258742f5f152d /include/lib/ArduinoJson/Serialization/DynamicStringBuilder.hpp | |
parent | 0558244645611f314f47e0fa427f7323ce253eaf (diff) |
Revert "remove external libraries from main branch"protocol-modeling
This reverts commit 0558244645611f314f47e0fa427f7323ce253eaf.
Diffstat (limited to 'include/lib/ArduinoJson/Serialization/DynamicStringBuilder.hpp')
-rw-r--r-- | include/lib/ArduinoJson/Serialization/DynamicStringBuilder.hpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/lib/ArduinoJson/Serialization/DynamicStringBuilder.hpp b/include/lib/ArduinoJson/Serialization/DynamicStringBuilder.hpp new file mode 100644 index 0000000..41be639 --- /dev/null +++ b/include/lib/ArduinoJson/Serialization/DynamicStringBuilder.hpp @@ -0,0 +1,35 @@ +// ArduinoJson - arduinojson.org +// Copyright Benoit Blanchon 2014-2018 +// MIT License + +#pragma once + +#include "../StringTraits/StringTraits.hpp" + +namespace ArduinoJson { +namespace Internals { + +// A Print implementation that allows to write in a String +template <typename TString> +class DynamicStringBuilder { + public: + DynamicStringBuilder(TString &str) : _str(str) {} + + size_t print(char c) { + StringTraits<TString>::append(_str, c); + return 1; + } + + size_t print(const char *s) { + size_t initialLen = _str.length(); + StringTraits<TString>::append(_str, s); + return _str.length() - initialLen; + } + + private: + DynamicStringBuilder &operator=(const DynamicStringBuilder &); + + TString &_str; +}; +} +} |