#include "common/assert.h"
+#include "borrowed-object-iterator.hpp"
#include "borrowed-object.hpp"
-#include "common-iterator.hpp"
#include "shared-object.hpp"
namespace bt2 {
class ConstFieldPathItem : public BorrowedObject<const bt_field_path_item>
{
public:
- explicit ConstFieldPathItem(const _LibObjPtr libObjPtr) noexcept :
+ explicit ConstFieldPathItem(const LibObjPtr libObjPtr) noexcept :
_ThisBorrowedObject {libObjPtr}
{
}
- ConstFieldPathItem(const ConstFieldPathItem& fpItem) noexcept : _ThisBorrowedObject {fpItem}
- {
- }
-
- ConstFieldPathItem& operator=(const ConstFieldPathItem& fpItem) noexcept
- {
- _ThisBorrowedObject::operator=(fpItem);
- return *this;
- }
-
FieldPathItemType type() const noexcept
{
return static_cast<FieldPathItemType>(this->_libType());
class ConstIndexFieldPathItem final : public ConstFieldPathItem
{
public:
- explicit ConstIndexFieldPathItem(const _LibObjPtr libObjPtr) noexcept :
+ explicit ConstIndexFieldPathItem(const LibObjPtr libObjPtr) noexcept :
ConstFieldPathItem {libObjPtr}
{
BT_ASSERT_DBG(this->isIndex());
}
- ConstIndexFieldPathItem(const ConstIndexFieldPathItem& fpItem) noexcept :
- ConstFieldPathItem {fpItem}
- {
- }
-
- ConstIndexFieldPathItem& operator=(const ConstIndexFieldPathItem& fpItem) noexcept
- {
- ConstFieldPathItem::operator=(fpItem);
- return *this;
- }
-
std::uint64_t index() const noexcept
{
return bt_field_path_item_index_get_index(this->libObjPtr());
struct FieldPathRefFuncs final
{
- static void get(const bt_field_path * const libObjPtr)
+ static void get(const bt_field_path * const libObjPtr) noexcept
{
bt_field_path_get_ref(libObjPtr);
}
- static void put(const bt_field_path * const libObjPtr)
+ static void put(const bt_field_path * const libObjPtr) noexcept
{
bt_field_path_put_ref(libObjPtr);
}
{
public:
using Shared = SharedObject<ConstFieldPath, const bt_field_path, internal::FieldPathRefFuncs>;
-
- using Iterator = CommonIterator<ConstFieldPath, ConstFieldPathItem>;
+ using Iterator = BorrowedObjectIterator<ConstFieldPath>;
enum class Scope
{
EVENT_PAYLOAD = BT_FIELD_PATH_SCOPE_EVENT_PAYLOAD,
};
- explicit ConstFieldPath(const _LibObjPtr libObjPtr) noexcept : _ThisBorrowedObject {libObjPtr}
- {
- }
-
- ConstFieldPath(const ConstFieldPath& fieldPath) noexcept : _ThisBorrowedObject {fieldPath}
- {
- }
-
- ConstFieldPath& operator=(const ConstFieldPath& fieldPath) noexcept
+ explicit ConstFieldPath(const LibObjPtr libObjPtr) noexcept : _ThisBorrowedObject {libObjPtr}
{
- _ThisBorrowedObject::operator=(fieldPath);
- return *this;
}
Scope rootScope() const noexcept
return static_cast<Scope>(bt_field_path_get_root_scope(this->libObjPtr()));
}
- std::uint64_t size() const noexcept
+ std::uint64_t length() const noexcept
{
return bt_field_path_get_item_count(this->libObjPtr());
}
Iterator end() const noexcept
{
- return Iterator {*this, this->size()};
+ return Iterator {*this, this->length()};
}
Shared shared() const noexcept