15#ifndef LIEF_OBJC_METHOD_H
16#define LIEF_OBJC_METHOD_H
52 template <
typename RefT>
85 return static_cast<const Iterator*
>(
this)->
operator*();
89 std::unique_ptr<details::MethodIt> impl_;
93 Method(std::unique_ptr<details::Method> impl);
109 std::unique_ptr<details::Method> impl_;
Definition ObjC/Method.hpp:43
friend class Iterator
Definition ObjC/Method.hpp:45
pointer operator->() const
Definition ObjC/Method.hpp:47
Method * pointer
Definition ObjC/Method.hpp:39
Iterator(Iterator &&) noexcept
std::ptrdiff_t difference_type
Definition ObjC/Method.hpp:38
Iterator(const Iterator &)
std::unique_ptr< Method > value_type
Definition ObjC/Method.hpp:37
std::unique_ptr< Method > operator*() const
Iterator operator++(int)
Definition ObjC/Method.hpp:76
std::bidirectional_iterator_tag iterator_category
Definition ObjC/Method.hpp:36
details::MethodIt implementation
Definition ObjC/Method.hpp:41
std::unique_ptr< Method > & reference
Definition ObjC/Method.hpp:40
Iterator operator--(int)
Definition ObjC/Method.hpp:70
PointerProxy operator->() const
Definition ObjC/Method.hpp:84
bool is_instance() const
Whether it's an instance method.
Method(std::unique_ptr< details::Method > impl)
std::string name() const
Name of the method.
std::string mangled_type() const
Prototype of the method in its mangled representation (e.g. @16@0:8).
uintptr_t address() const
Virtual address where this method is implemented in the binary.
Definition ObjC/Class.hpp:32
Namespace related to ObjC metadata.
Definition MachO/Binary.hpp:41
LIEF namespace.
Definition Abstract/Binary.hpp:40
#define LIEF_API
Definition visibility.h:41