diff --git a/include/dwarfs/reader/metadata_types.h b/include/dwarfs/reader/metadata_types.h index 4cc7f38e..74912e21 100644 --- a/include/dwarfs/reader/metadata_types.h +++ b/include/dwarfs/reader/metadata_types.h @@ -156,6 +156,8 @@ class directory_view { directory_iterator begin() const { return directory_iterator{inode_, *g_}; } directory_iterator end() const { return directory_iterator{}; } + dir_entry_view self_entry_view() const; + private: directory_view(uint32_t inode, internal::global_metadata const& g) : inode_{inode} diff --git a/src/reader/metadata_types.cpp b/src/reader/metadata_types.cpp index e18fe8ea..cd1ea930 100644 --- a/src/reader/metadata_types.cpp +++ b/src/reader/metadata_types.cpp @@ -154,4 +154,10 @@ uint32_t directory_view::parent_inode() const { return ent; } +dir_entry_view directory_view::self_entry_view() const { + return dir_entry_view{ + internal::dir_entry_view_impl::from_dir_entry_index_shared( + g_->self_dir_entry(inode_), *g_)}; +} + } // namespace dwarfs::reader