summaryrefslogtreecommitdiff
path: root/include/lib/ArduinoJson/StringTraits/CharPointer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/lib/ArduinoJson/StringTraits/CharPointer.hpp')
-rw-r--r--include/lib/ArduinoJson/StringTraits/CharPointer.hpp64
1 files changed, 0 insertions, 64 deletions
diff --git a/include/lib/ArduinoJson/StringTraits/CharPointer.hpp b/include/lib/ArduinoJson/StringTraits/CharPointer.hpp
deleted file mode 100644
index 98896cc..0000000
--- a/include/lib/ArduinoJson/StringTraits/CharPointer.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// ArduinoJson - arduinojson.org
-// Copyright Benoit Blanchon 2014-2018
-// MIT License
-
-#pragma once
-
-namespace ArduinoJson {
-namespace Internals {
-
-template <typename TChar>
-struct CharPointerTraits {
- class Reader {
- const TChar* _ptr;
-
- public:
- Reader(const TChar* ptr)
- : _ptr(ptr ? ptr : reinterpret_cast<const TChar*>("")) {}
-
- void move() {
- ++_ptr;
- }
-
- char current() const {
- return char(_ptr[0]);
- }
-
- char next() const {
- return char(_ptr[1]);
- }
- };
-
- static bool equals(const TChar* str, const char* expected) {
- const char* actual = reinterpret_cast<const char*>(str);
- if (!actual || !expected) return actual == expected;
- return strcmp(actual, expected) == 0;
- }
-
- static bool is_null(const TChar* str) {
- return !str;
- }
-
- typedef const char* duplicate_t;
-
- template <typename Buffer>
- static duplicate_t duplicate(const TChar* str, Buffer* buffer) {
- if (!str) return NULL;
- size_t size = strlen(reinterpret_cast<const char*>(str)) + 1;
- void* dup = buffer->alloc(size);
- if (dup != NULL) memcpy(dup, str, size);
- return static_cast<duplicate_t>(dup);
- }
-
- static const bool has_append = false;
- static const bool has_equals = true;
- static const bool should_duplicate = !IsConst<TChar>::value;
-};
-
-// char*, unsigned char*, signed char*
-// const char*, const unsigned char*, const signed char*
-template <typename TChar>
-struct StringTraits<TChar*, typename EnableIf<IsChar<TChar>::value>::type>
- : CharPointerTraits<TChar> {};
-} // namespace Internals
-} // namespace ArduinoJson