LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
16#ifndef LIEF_PE_AUXILIARY_SYMBOL_H
17#define LIEF_PE_AUXILIARY_SYMBOL_H
41 payload_(std::move(payload))
44 AuxiliarySymbol&
operator=(
const AuxiliarySymbol&) =
default;
47 AuxiliarySymbol&
operator=(AuxiliarySymbol&&) =
default;
49 LIEF_LOCAL static std::unique_ptr<AuxiliarySymbol>
50 parse(Symbol& sym, std::vector<uint8_t> payload);
52 virtual std::unique_ptr<AuxiliarySymbol>
clone()
const {
53 return std::unique_ptr<AuxiliarySymbol>(
new AuxiliarySymbol(*
this));
59 CLR_TOKEN, FUNC_DEF, BF_AND_EF, WEAK_EXTERNAL, FILE, SEC_DEF,
81 span<const uint8_t>
payload()
const {
98 static_assert(std::is_base_of<AuxiliarySymbol, T>::value,
99 "Require AuxiliarySymbol inheritance");
100 if (T::classof(
this)) {
101 return static_cast<const T*
>(
this);
107 std::ostream&
operator<<(std::ostream& os,
const AuxiliarySymbol& aux)
114 TYPE type_ = TYPE::UNKNOWN;
115 std::vector<uint8_t> payload_;
Class that is used to a read stream of data from different sources.
Definition BinaryStream.hpp:33
Class that represents an auxiliary symbol.
Definition AuxiliarySymbol.hpp:36
TYPE type() const
Definition AuxiliarySymbol.hpp:78
virtual std::string to_string() const
AuxiliarySymbol & operator=(const AuxiliarySymbol &)=default
static TYPE get_aux_type(const Symbol &sym)
virtual std::unique_ptr< AuxiliarySymbol > clone() const
Definition AuxiliarySymbol.hpp:52
AuxiliarySymbol(AuxiliarySymbol &&)=default
virtual ~AuxiliarySymbol()=default
AuxiliarySymbol()=default
AuxiliarySymbol & operator=(AuxiliarySymbol &&)=default
friend std::ostream & operator<<(std::ostream &os, const AuxiliarySymbol &aux)
Definition AuxiliarySymbol.hpp:107
AuxiliarySymbol(TYPE ty)
Definition AuxiliarySymbol.hpp:72
AuxiliarySymbol(const AuxiliarySymbol &)=default
static std::unique_ptr< AuxiliarySymbol > parse(Symbol &sym, std::vector< uint8_t > payload)
AuxiliarySymbol(std::vector< uint8_t > payload)
Definition AuxiliarySymbol.hpp:39
const T * as() const
Helper to downcast a AuxiliarySymbol into a concrete implementation.
Definition AuxiliarySymbol.hpp:97
span< const uint8_t > payload() const
For unknown type only, return the raw representation of this symbol.
Definition AuxiliarySymbol.hpp:83
span< uint8_t > payload()
Definition AuxiliarySymbol.hpp:87
Class that represents a PE-COFF symbol.
Definition PE/Symbol.hpp:50
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
@ T
Definition AcceleratorCodes.hpp:97
LIEF namespace.
Definition Abstract/Binary.hpp:36
#define LIEF_API
Definition visibility.h:41
#define LIEF_LOCAL
Definition visibility.h:42