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>
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`.");