LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Class which represents an entry in the DT_VERNEED
or .gnu.version_r
table.
More...
#include <SymbolVersionRequirement.hpp>
Public Types | |
using | aux_requirement_t = std::vector<std::unique_ptr<SymbolVersionAuxRequirement>> |
using | it_aux_requirement = ref_iterator<aux_requirement_t&, SymbolVersionAuxRequirement*> |
using | it_const_aux_requirement = const_ref_iterator<const aux_requirement_t&, const SymbolVersionAuxRequirement*> |
Public Types inherited from LIEF::Object | |
template<class T > | |
using | output_t = add_pointer_t<decay_t<T>> |
template<class T > | |
using | output_const_t = add_pointer_t<add_const_t<decay_t<T>>> |
Public Member Functions | |
SymbolVersionRequirement ()=default | |
SymbolVersionRequirement (const details::Elf64_Verneed &header) | |
SymbolVersionRequirement (const details::Elf32_Verneed &header) | |
~SymbolVersionRequirement () override=default | |
SymbolVersionRequirement & | operator= (SymbolVersionRequirement other) |
SymbolVersionRequirement (const SymbolVersionRequirement &other) | |
void | swap (SymbolVersionRequirement &other) |
uint16_t | version () const |
Version revision. | |
size_t | cnt () const |
Number of auxiliary entries. | |
it_aux_requirement | auxiliary_symbols () |
Auxiliary entries as an iterator over SymbolVersionAuxRequirement. | |
it_const_aux_requirement | auxiliary_symbols () const |
const std::string & | name () const |
Return the library name associated with this requirement (e.g. libc.so.6 ) | |
void | version (uint16_t version) |
void | name (const std::string &name) |
SymbolVersionAuxRequirement & | add_aux_requirement (const SymbolVersionAuxRequirement &aux_requirement) |
Add a version auxiliary requirement to the existing list. | |
void | accept (Visitor &visitor) const override |
Public Member Functions inherited from LIEF::Object | |
Object () | |
Object (const Object &other) | |
Object & | operator= (const Object &other) |
template<class T > | |
output_t< T > | as () |
template<class T > | |
output_const_t< T > | as () const |
virtual bool | operator== (const Object &other) const |
virtual bool | operator!= (const Object &other) const |
virtual | ~Object () |
Class which represents an entry in the DT_VERNEED
or .gnu.version_r
table.
using LIEF::ELF::SymbolVersionRequirement::aux_requirement_t = std::vector<std::unique_ptr<SymbolVersionAuxRequirement>> |
using LIEF::ELF::SymbolVersionRequirement::it_aux_requirement = ref_iterator<aux_requirement_t&, SymbolVersionAuxRequirement*> |
using LIEF::ELF::SymbolVersionRequirement::it_const_aux_requirement = const_ref_iterator<const aux_requirement_t&, const SymbolVersionAuxRequirement*> |
|
default |
LIEF::ELF::SymbolVersionRequirement::SymbolVersionRequirement | ( | const details::Elf64_Verneed & | header | ) |
LIEF::ELF::SymbolVersionRequirement::SymbolVersionRequirement | ( | const details::Elf32_Verneed & | header | ) |
|
overridedefault |
LIEF::ELF::SymbolVersionRequirement::SymbolVersionRequirement | ( | const SymbolVersionRequirement & | other | ) |
|
overridevirtual |
Implements LIEF::Object.
SymbolVersionAuxRequirement & LIEF::ELF::SymbolVersionRequirement::add_aux_requirement | ( | const SymbolVersionAuxRequirement & | aux_requirement | ) |
Add a version auxiliary requirement to the existing list.
|
inline |
Auxiliary entries as an iterator over SymbolVersionAuxRequirement.
|
inline |
|
inline |
Number of auxiliary entries.
|
inline |
Return the library name associated with this requirement (e.g. libc.so.6
)
Referenced by operator<<.
|
inline |
SymbolVersionRequirement & LIEF::ELF::SymbolVersionRequirement::operator= | ( | SymbolVersionRequirement | other | ) |
void LIEF::ELF::SymbolVersionRequirement::swap | ( | SymbolVersionRequirement & | other | ) |
|
inline |
Version revision.
This field should always have the value 1
. It will be changed if the versioning implementation has to be changed in an incompatible way.
Referenced by operator<<.
|
inline |