@@ -34,7 +34,7 @@ class Archive final : public std::enable_shared_from_this<Archive> {
3434 [[nodiscard]] Iterator begin () const ;
3535 [[nodiscard]] Iterator end () const ;
3636
37- [[nodiscard]] Iterator find (const Path &path) const ;
37+ [[nodiscard]] Iterator find (const AbsPath &path) const ;
3838
3939 class Entry {
4040 public:
@@ -43,9 +43,9 @@ class Archive final : public std::enable_shared_from_this<Archive> {
4343 Entry (const Archive &parent, const impl::CompoundFileEntry &entry)
4444 : m_parent{&parent}, m_entry{&entry}, m_path{" /" } {}
4545 Entry (const Archive &parent, const impl::CompoundFileEntry &entry,
46- const Path &parent_path)
46+ const AbsPath &parent_path)
4747 : m_parent{&parent}, m_entry{&entry},
48- m_path{parent_path.join (Path (name ()))} {}
48+ m_path{parent_path.join (RelPath (name ()))} {}
4949 ~Entry () = default ;
5050 Entry &operator =(const Entry &) = default ;
5151 Entry &operator =(Entry &&) noexcept = default ;
@@ -59,7 +59,7 @@ class Archive final : public std::enable_shared_from_this<Archive> {
5959
6060 [[nodiscard]] bool is_file () const ;
6161 [[nodiscard]] bool is_directory () const ;
62- [[nodiscard]] Path path () const ;
62+ [[nodiscard]] AbsPath path () const ;
6363 [[nodiscard]] std::unique_ptr<abstract::File> file () const ;
6464
6565 [[nodiscard]] std::string name () const ;
@@ -70,7 +70,7 @@ class Archive final : public std::enable_shared_from_this<Archive> {
7070 private:
7171 const Archive *m_parent;
7272 const impl::CompoundFileEntry *m_entry;
73- Path m_path;
73+ AbsPath m_path;
7474
7575 friend Iterator;
7676 };
@@ -84,30 +84,22 @@ class Archive final : public std::enable_shared_from_this<Archive> {
8484 using reference = const Entry &;
8585
8686 Iterator () = default ;
87- Iterator (const Iterator &) = default ;
88- Iterator (Iterator &&) noexcept = default ;
8987 Iterator (const Archive &parent, const impl::CompoundFileEntry &entry)
9088 : m_entry{Entry (parent, entry)} {
9189 dig_left_ ();
9290 }
9391 Iterator (const Archive &parent, const impl::CompoundFileEntry &entry,
94- const Path &parent_path)
92+ const AbsPath &parent_path)
9593 : m_entry{Entry (parent, entry, parent_path)} {
9694 dig_left_ ();
9795 }
98- ~Iterator () = default ;
99- Iterator &operator =(const Iterator &) = default ;
100- Iterator &operator =(Iterator &&) noexcept = default ;
10196
10297 [[nodiscard]] reference operator *() const { return *m_entry; }
10398 [[nodiscard]] pointer operator ->() const { return &*m_entry; }
10499
105100 [[nodiscard]] bool operator ==(const Iterator &other) const {
106101 return m_entry == other.m_entry ;
107102 }
108- [[nodiscard]] bool operator !=(const Iterator &other) const {
109- return m_entry != other.m_entry ;
110- }
111103
112104 Iterator &operator ++() {
113105 next_ ();
0 commit comments