#include "borrowed-object-iterator.hpp"
#include "borrowed-object.hpp"
#include "exc.hpp"
+#include "field-location.hpp"
#include "field-path.hpp"
#include "integer-range-set.hpp"
#include "internal/utils.hpp"
this->libObjPtr())};
}
+ ConstFieldLocation lengthFieldLocation() const noexcept
+ {
+ return ConstFieldLocation {
+ bt_field_class_array_dynamic_with_length_field_borrow_length_field_location_const(
+ this->libObjPtr())};
+ }
+
Shared shared() const noexcept
{
return Shared::createWithRef(*this);
return DynamicArrayWithLengthFieldClass::Shared::createWithoutRef(libObjPtr);
}
+ ArrayFieldClass::Shared
+ createDynamicArrayWithoutLengthFieldLocationFieldClass(const FieldClass elementFieldClass) const
+ {
+ static_assert(!std::is_const<LibObjT>::value, "Not available with `bt2::ConstTraceClass`.");
+
+ const auto libObjPtr = bt_field_class_array_dynamic_without_length_field_location_create(
+ this->libObjPtr(), elementFieldClass.libObjPtr());
+
+ internal::validateCreatedObjPtr(libObjPtr);
+ return ArrayFieldClass::Shared::createWithoutRef(libObjPtr);
+ }
+
+ DynamicArrayWithLengthFieldClass::Shared createDynamicArrayWithLengthFieldLocationFieldClass(
+ const FieldClass elementFieldClass, const ConstFieldLocation lengthFieldLocation) const
+ {
+ static_assert(!std::is_const<LibObjT>::value, "Not available with `bt2::ConstTraceClass`.");
+
+ const auto libObjPtr = bt_field_class_array_dynamic_with_length_field_location_create(
+ this->libObjPtr(), elementFieldClass.libObjPtr(), lengthFieldLocation.libObjPtr());
+
+ internal::validateCreatedObjPtr(libObjPtr);
+ return DynamicArrayWithLengthFieldClass::Shared::createWithoutRef(libObjPtr);
+ }
+
StructureFieldClass::Shared createStructureFieldClass() const
{
static_assert(!std::is_const<LibObjT>::value, "Not available with `bt2::ConstTraceClass`.");