Sfoglia il codice sorgente

Rename `StringCopier` to `StringBuilder`

Benoit Blanchon 2 anni fa
parent
commit
044a4753d2

+ 1 - 1
extras/tests/MemoryPool/CMakeLists.txt

@@ -7,7 +7,7 @@ add_executable(MemoryPoolTests
 	clear.cpp
 	saveString.cpp
 	size.cpp
-	StringCopier.cpp
+	StringBuilder.cpp
 )
 
 add_test(MemoryPool MemoryPoolTests)

+ 9 - 9
extras/tests/MemoryPool/StringCopier.cpp → extras/tests/MemoryPool/StringBuilder.cpp

@@ -2,20 +2,20 @@
 // Copyright © 2014-2023, Benoit BLANCHON
 // MIT License
 
-#include <ArduinoJson/StringStorage/StringCopier.hpp>
+#include <ArduinoJson/Memory/StringBuilder.hpp>
 #include <catch.hpp>
 
 #include "Allocators.hpp"
 
 using namespace ArduinoJson::detail;
 
-TEST_CASE("StringCopier") {
+TEST_CASE("StringBuilder") {
   ControllableAllocator controllableAllocator;
   SpyingAllocator spyingAllocator(&controllableAllocator);
   MemoryPool pool(0, &spyingAllocator);
 
   SECTION("Empty string") {
-    StringCopier str(&pool);
+    StringBuilder str(&pool);
 
     str.startString();
     str.save();
@@ -29,7 +29,7 @@ TEST_CASE("StringCopier") {
   }
 
   SECTION("Short string fits in first allocation") {
-    StringCopier str(&pool);
+    StringBuilder str(&pool);
 
     str.startString();
     str.append("hello");
@@ -42,7 +42,7 @@ TEST_CASE("StringCopier") {
   }
 
   SECTION("Long string needs reallocation") {
-    StringCopier str(&pool);
+    StringBuilder str(&pool);
 
     str.startString();
     str.append(
@@ -63,7 +63,7 @@ TEST_CASE("StringCopier") {
   }
 
   SECTION("Realloc fails") {
-    StringCopier str(&pool);
+    StringBuilder str(&pool);
 
     str.startString();
     controllableAllocator.disable();
@@ -81,7 +81,7 @@ TEST_CASE("StringCopier") {
   }
 
   SECTION("Initial allocation fails") {
-    StringCopier str(&pool);
+    StringBuilder str(&pool);
 
     controllableAllocator.disable();
     str.startString();
@@ -94,13 +94,13 @@ TEST_CASE("StringCopier") {
 }
 
 static StringNode* addStringToPool(MemoryPool& pool, const char* s) {
-  StringCopier str(&pool);
+  StringBuilder str(&pool);
   str.startString();
   str.append(s);
   return str.save();
 }
 
-TEST_CASE("StringCopier::save() deduplicates strings") {
+TEST_CASE("StringBuilder::save() deduplicates strings") {
   MemoryPool pool(4096);
 
   SECTION("Basic") {

+ 1 - 1
extras/tests/Misc/Utf8.cpp

@@ -11,7 +11,7 @@ using namespace ArduinoJson::detail;
 
 static void testCodepoint(uint32_t codepoint, std::string expected) {
   MemoryPool pool(4096);
-  StringCopier str(&pool);
+  StringBuilder str(&pool);
   str.startString();
 
   CAPTURE(codepoint);

+ 13 - 13
src/ArduinoJson/Json/JsonDeserializer.hpp

@@ -22,7 +22,7 @@ template <typename TReader>
 class JsonDeserializer {
  public:
   JsonDeserializer(MemoryPool* pool, TReader reader)
-      : stringStorage_(pool),
+      : stringBuilder_(pool),
         foundSomething_(false),
         latch_(reader),
         pool_(pool) {}
@@ -268,7 +268,7 @@ class JsonDeserializer {
       if (!eat(':'))
         return DeserializationError::InvalidInput;
 
-      JsonString key = stringStorage_.str();
+      JsonString key = stringBuilder_.str();
 
       TFilter memberFilter = filter[key.c_str()];
 
@@ -276,7 +276,7 @@ class JsonDeserializer {
         VariantSlot* slot = object.get(adaptString(key.c_str()));
         if (!slot) {
           // Save key in memory pool.
-          auto savedKey = stringStorage_.save();
+          auto savedKey = stringBuilder_.save();
 
           // Allocate slot in object
           slot = pool_->allocVariant();
@@ -375,7 +375,7 @@ class JsonDeserializer {
   }
 
   DeserializationError::Code parseKey() {
-    stringStorage_.startString();
+    stringBuilder_.startString();
     if (isQuote(current())) {
       return parseQuotedString();
     } else {
@@ -386,13 +386,13 @@ class JsonDeserializer {
   DeserializationError::Code parseStringValue(VariantData& variant) {
     DeserializationError::Code err;
 
-    stringStorage_.startString();
+    stringBuilder_.startString();
 
     err = parseQuotedString();
     if (err)
       return err;
 
-    variant.setString(stringStorage_.save());
+    variant.setString(stringBuilder_.save());
 
     return DeserializationError::Ok;
   }
@@ -428,9 +428,9 @@ class JsonDeserializer {
           if (err)
             return err;
           if (codepoint.append(codeunit))
-            Utf8::encodeCodepoint(codepoint.value(), stringStorage_);
+            Utf8::encodeCodepoint(codepoint.value(), stringBuilder_);
 #else
-          stringStorage_.append('\\');
+          stringBuilder_.append('\\');
 #endif
           continue;
         }
@@ -442,10 +442,10 @@ class JsonDeserializer {
         move();
       }
 
-      stringStorage_.append(c);
+      stringBuilder_.append(c);
     }
 
-    if (!stringStorage_.isValid())
+    if (!stringBuilder_.isValid())
       return DeserializationError::NoMemory;
 
     return DeserializationError::Ok;
@@ -458,14 +458,14 @@ class JsonDeserializer {
     if (canBeInNonQuotedString(c)) {  // no quotes
       do {
         move();
-        stringStorage_.append(c);
+        stringBuilder_.append(c);
         c = current();
       } while (canBeInNonQuotedString(c));
     } else {
       return DeserializationError::InvalidInput;
     }
 
-    if (!stringStorage_.isValid())
+    if (!stringBuilder_.isValid())
       return DeserializationError::NoMemory;
 
     return DeserializationError::Ok;
@@ -657,7 +657,7 @@ class JsonDeserializer {
     return DeserializationError::Ok;
   }
 
-  StringCopier stringStorage_;
+  StringBuilder stringBuilder_;
   bool foundSomething_;
   Latch<TReader> latch_;
   MemoryPool* pool_;

+ 3 - 3
src/ArduinoJson/StringStorage/StringCopier.hpp → src/ArduinoJson/Memory/StringBuilder.hpp

@@ -8,13 +8,13 @@
 
 ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
 
-class StringCopier {
+class StringBuilder {
  public:
   static const size_t initialCapacity = 31;
 
-  StringCopier(MemoryPool* pool) : pool_(pool) {}
+  StringBuilder(MemoryPool* pool) : pool_(pool) {}
 
-  ~StringCopier() {
+  ~StringBuilder() {
     if (node_)
       pool_->deallocString(node_);
   }

+ 8 - 8
src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp

@@ -19,7 +19,7 @@ class MsgPackDeserializer {
   MsgPackDeserializer(MemoryPool* pool, TReader reader)
       : pool_(pool),
         reader_(reader),
-        stringStorage_(pool),
+        stringBuilder_(pool),
         foundSomething_(false) {}
 
   template <typename TFilter>
@@ -370,14 +370,14 @@ class MsgPackDeserializer {
     if (err)
       return err;
 
-    variant->setString(stringStorage_.save());
+    variant->setString(stringBuilder_.save());
     return DeserializationError::Ok;
   }
 
   DeserializationError::Code readString(size_t n) {
     DeserializationError::Code err;
 
-    stringStorage_.startString();
+    stringBuilder_.startString();
     for (; n; --n) {
       uint8_t c;
 
@@ -385,10 +385,10 @@ class MsgPackDeserializer {
       if (err)
         return err;
 
-      stringStorage_.append(static_cast<char>(c));
+      stringBuilder_.append(static_cast<char>(c));
     }
 
-    if (!stringStorage_.isValid())
+    if (!stringBuilder_.isValid())
       return DeserializationError::NoMemory;
 
     return DeserializationError::Ok;
@@ -485,7 +485,7 @@ class MsgPackDeserializer {
       if (err)
         return err;
 
-      JsonString key = stringStorage_.str();
+      JsonString key = stringBuilder_.str();
       TFilter memberFilter = filter[key.c_str()];
       VariantData* member;
 
@@ -493,7 +493,7 @@ class MsgPackDeserializer {
         ARDUINOJSON_ASSERT(object != 0);
 
         // Save key in memory pool.
-        auto savedKey = stringStorage_.save();
+        auto savedKey = stringBuilder_.save();
 
         VariantSlot* slot = pool_->allocVariant();
         if (!slot)
@@ -555,7 +555,7 @@ class MsgPackDeserializer {
 
   MemoryPool* pool_;
   TReader reader_;
-  StringCopier stringStorage_;
+  StringBuilder stringBuilder_;
   bool foundSomething_;
 };
 

+ 2 - 2
src/ArduinoJson/Variant/ConverterImpl.hpp

@@ -5,7 +5,7 @@
 #pragma once
 
 #include <ArduinoJson/Json/JsonSerializer.hpp>
-#include <ArduinoJson/StringStorage/StringCopier.hpp>
+#include <ArduinoJson/Memory/StringBuilder.hpp>
 #include <ArduinoJson/Variant/JsonVariantConst.hpp>
 #include <ArduinoJson/Variant/VariantFunctions.hpp>
 
@@ -212,7 +212,7 @@ class MemoryPoolPrint : public Print {
   }
 
  private:
-  StringCopier copier_;
+  StringBuilder copier_;
 };
 }  // namespace detail