16#ifndef LIEF_ABSTRACT_FUNCTION_H
17#define LIEF_ABSTRACT_FUNCTION_H
23#include "LIEF/Abstract/Symbol.hpp"
24#include "LIEF/visibility.h"
58 using flags_list_t = std::vector<FLAGS>;
59 using flags_t = std::set<FLAGS>;
65 Function(
const std::string& name, uint64_t address);
66 Function(
const std::string& name, uint64_t address,
const flags_list_t& flags);
80 void address(uint64_t address);
85 LIEF_API
friend std::ostream& operator<<(std::ostream& os,
const Function& entry);
Class that represents a function in the binary.
Definition Function.hpp:29
FLAGS
Flags used to characterize the semantic of the function.
Definition Function.hpp:33
void accept(Visitor &visitor) const override
Method so that the visitor can visit us.
flags_list_t flags() const
List of FLAGS.
uint64_t address() const
Address of the current function. For functions that are set with the FLAGS::IMPORTED flag,...
Function & add(FLAGS f)
Add a flag to the current function.
This class represents a symbol in an executable format.
Definition Abstract/Symbol.hpp:28
Definition Visitor.hpp:219
LIEF namespace.
Definition Abstract/Binary.hpp:32