cpp-common: Add `bt2::CommonStringField::append()` method
[babeltrace.git] / 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.027532 seconds and 4 git commands to generate.