LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Represents a runtime table of function variants sharing a common namespace (referred to internally as FunctionVariantsRuntimeTable in dyld). More...
#include <FunctionVariants.hpp>
Public Types | |
enum class | KIND : uint32_t { UNKNOWN = 0 , PER_PROCESS = 1 , SYSTEM_WIDE = 2 , ARM64 = 3 , X86_64 = 4 } |
Enumeration describing the namespace or category of a function variant. More... | |
using | entries_t = std::vector<RuntimeTableEntry> |
using | it_entries = ref_iterator<entries_t&> |
Iterator that output RuntimeTableEntry&. | |
using | it_const_entries = const_ref_iterator<const entries_t&> |
Iterator that output const RuntimeTableEntry&. |
Public Member Functions | |
RuntimeTable ()=default | |
RuntimeTable (KIND kind, uint32_t offset) | |
RuntimeTable (const RuntimeTable &)=default | |
RuntimeTable & | operator= (const RuntimeTable &)=default |
RuntimeTable (RuntimeTable &&) noexcept=default | |
RuntimeTable & | operator= (RuntimeTable &&) noexcept=default |
~RuntimeTable ()=default | |
KIND | kind () const |
Kind of this runtime table. | |
uint32_t | offset () const |
Original offset in the payload. | |
it_entries | entries () |
Iterator over the different RuntimeTableEntry entries. | |
it_const_entries | entries () const |
void | add (RuntimeTableEntry entry) |
std::string | to_string () const |
Represents a runtime table of function variants sharing a common namespace (referred to internally as FunctionVariantsRuntimeTable in dyld).
Each table holds multiple RuntimeTableEntry instances that map to function implementations optimized for a given KIND.
using LIEF::MachO::FunctionVariants::RuntimeTable::entries_t = std::vector<RuntimeTableEntry> |
using LIEF::MachO::FunctionVariants::RuntimeTable::it_const_entries = const_ref_iterator<const entries_t&> |
Iterator that output const RuntimeTableEntry&.
Iterator that output RuntimeTableEntry&.
|
strong |
Enumeration describing the namespace or category of a function variant.
Each FunctionVariants::RuntimeTable is associated with one KIND, which indicates the domain or context under which its variant entries should be considered valid or applicable.
These categories map to the runtime dispatch logic used by dyld when selecting the optimal function variant.
|
default |
Referenced by operator<<, operator=(), operator=(), RuntimeTable(), RuntimeTable(), and ~RuntimeTable().
|
inline |
|
default |
References RuntimeTable().
|
defaultnoexcept |
References RuntimeTable().
|
default |
References RuntimeTable().
|
inline |
|
inline |
Iterator over the different RuntimeTableEntry entries.
|
inline |
|
inline |
|
inline |
Original offset in the payload.
Referenced by RuntimeTable().
|
default |
References RuntimeTable().
|
defaultnoexcept |
References RuntimeTable().
std::string LIEF::MachO::FunctionVariants::RuntimeTable::to_string | ( | ) | const |
References LIEF_API.
Referenced by operator<<.