15#ifndef LIEF_PDB_FUNCTION_H
16#define LIEF_PDB_FUNCTION_H
51 template <
typename RefT>
57 Iterator(std::unique_ptr<details::FunctionIt> impl);
76 return static_cast<const Iterator*
>(
this)->
operator*();
80 std::unique_ptr<details::FunctionIt> impl_;
82 Function(std::unique_ptr<details::Function> impl);
101 std::unique_ptr<details::Function> impl_;
Definition PDB/Function.hpp:42
pointer operator->() const
Definition PDB/Function.hpp:46
Definition PDB/Function.hpp:33
std::unique_ptr< Function > value_type
Definition PDB/Function.hpp:36
Iterator operator++(int)
Definition PDB/Function.hpp:67
friend bool operator==(const Iterator &LHS, const Iterator &RHS)
std::forward_iterator_tag iterator_category
Definition PDB/Function.hpp:35
details::FunctionIt implementation
Definition PDB/Function.hpp:40
Iterator(const Iterator &)
std::unique_ptr< Function > operator*() const
PointerProxy operator->() const
Definition PDB/Function.hpp:75
std::ptrdiff_t difference_type
Definition PDB/Function.hpp:37
friend bool operator!=(const Iterator &LHS, const Iterator &RHS)
Definition PDB/Function.hpp:61
Iterator(std::unique_ptr< details::FunctionIt > impl)
Definition PDB/Function.hpp:31
std::string section_name() const
The name of the section in which this function is defined.
uint32_t code_size() const
The size of the function.
Function(std::unique_ptr< details::Function > impl)
std::string name() const
The name of the function (this name is usually demangled)
debug_location_t debug_location() const
Original source code location.
uint32_t RVA() const
The Relative Virtual Address of the function.
LIEF namespace.
Definition Abstract/Binary.hpp:32
This structure holds a debug location (source filename & line)
Definition debug_loc.hpp:23
#define LIEF_API
Definition visibility.h:41