Go to the documentation of this file.
16#ifndef LIEF_DSC_DYLIB_H
17#define LIEF_DSC_DYLIB_H
44 public iterator_facade_base<Iterator, std::random_access_iterator_tag,
45 std::unique_ptr<Dylib>, std::ptrdiff_t, Dylib*,
46 std::unique_ptr<Dylib>>
49 using implementation = details::DylibIt;
51 Iterator(std::unique_ptr<details::DylibIt> impl);
56 Iterator& operator=(Iterator&&) noexcept;
59 bool operator<(const Iterator& rhs) const;
61 std::ptrdiff_t operator-(const Iterator& R) const;
63 Iterator& operator+=(std::ptrdiff_t n);
64 Iterator& operator-=(std::ptrdiff_t n);
66 friend
LIEF_API bool operator==(const Iterator& LHS, const Iterator& RHS);
68 friend
LIEF_API bool operator!=(const Iterator& LHS, const Iterator& RHS) {
75 std::unique_ptr<details::DylibIt> impl_;
77 public:
struct LIEF_API extract_opt_t {
89 bool fix_branches =
false;
97 bool fix_memory =
false;
104 bool fix_relocations =
false;
111 bool fix_objc =
false;
122 Dylib(std::unique_ptr<details::Dylib> impl);
124 std::string
path()
const;
133 uint64_t
inode()
const;
142 std::unique_ptr<LIEF::MachO::Binary>
get(
const extract_opt_t& opt = extract_opt_t())
const;
153 std::unique_ptr<details::Dylib> impl_;