LIEF: Library to Instrument Executable Formats Version 0.15.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
LIEF::ELF::SymbolVersionRequirement Class Reference

Class which represents an entry in the DT_VERNEED or .gnu.version_r table. More...

#include <SymbolVersionRequirement.hpp>

Inheritance diagram for LIEF::ELF::SymbolVersionRequirement:
Inheritance graph
[legend]
Collaboration diagram for LIEF::ELF::SymbolVersionRequirement:
Collaboration graph
[legend]

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 (const details::Elf64_Verneed &header)
 
 SymbolVersionRequirement (const details::Elf32_Verneed &header)
 
SymbolVersionRequirementoperator= (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)
 
SymbolVersionAuxRequirementadd_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 (const Object &other)
 
Objectoperator= (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
 

Detailed Description

Class which represents an entry in the DT_VERNEED or .gnu.version_r table.

Member Function Documentation

◆ accept()

void LIEF::ELF::SymbolVersionRequirement::accept ( Visitor & visitor) const
overridevirtual

Implements LIEF::Object.

◆ version()

uint16_t LIEF::ELF::SymbolVersionRequirement::version ( ) const
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.


The documentation for this class was generated from the following file: