cpp-common: Add `bt2::CommonStringField::append()` method
authorFrancis Deslauriers <francis.deslauriers@efficios.com>
Tue, 31 May 2022 14:52:15 +0000 (10:52 -0400)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Mon, 11 Sep 2023 15:24:02 +0000 (11:24 -0400)
Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Change-Id: I42217dd06cf53511718d97839bda4f9d0a0ed784
Reviewed-on: https://review.lttng.org/c/babeltrace/+/8196
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/10833
CI-Build: Philippe Proulx <eeppeliteloop@gmail.com>
Tested-by: jenkins <jenkins@lttng.org>
src/cpp-common/bt2/field.hpp

index a59ac9fdf686305060b96f26327dd133bb23978b..0be3074185a70e2cd0f6dcc93fcdf68d5ca8ddd7 100644 (file)
@@ -962,6 +962,22 @@ public:
         return *this = val.data();
     }
 
+    void append(const char * const begin, const std::uint64_t len)
+    {
+        static_assert(!std::is_const<LibObjT>::value, "`LibObjT` must NOT be `const`.");
+
+        const auto status = bt_field_string_append_with_length(this->libObjPtr(), begin, len);
+
+        if (status == BT_FIELD_STRING_APPEND_STATUS_MEMORY_ERROR) {
+            throw MemoryError {};
+        }
+    }
+
+    void append(const std::string& val)
+    {
+        this->append(val.data(), val.size());
+    }
+
     void clear() noexcept
     {
         static_assert(!std::is_const<LibObjT>::value, "`LibObjT` must NOT be `const`.");
This page took 0.025984 seconds and 4 git commands to generate.