LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::PE::Symbol Class Reference

Class that represents a PE symbol. More...

#include <Symbol.hpp>

Inheritance diagram for LIEF::PE::Symbol:
Collaboration diagram for LIEF::PE::Symbol:

Public Member Functions

 Symbol (const details::pe_symbol &header)
 
 Symbol ()
 
 ~Symbol () override
 
Symboloperator= (Symbol other)
 
 Symbol (const Symbol &other)
 
void swap (Symbol &other)
 
int16_t section_number () const
 
uint16_t type () const
 
SYMBOL_BASE_TYPES base_type () const
 
SYMBOL_COMPLEX_TYPES complex_type () const
 
SYMBOL_STORAGE_CLASS storage_class () const
 
uint8_t numberof_aux_symbols () const
 
std::wstring wname () const
 
Sectionsection ()
 
const Sectionsection () const
 
bool has_section () const
 True if symbols are located in a section
 
void accept (Visitor &visitor) const override
 
- Public Member Functions inherited from LIEF::Symbol
 Symbol ()=default
 
 Symbol (std::string name)
 
 Symbol (std::string name, uint64_t value)
 
 Symbol (std::string name, uint64_t value, uint64_t size)
 
 Symbol (const Symbol &)=default
 
Symboloperator= (const Symbol &)=default
 
 ~Symbol () override=default
 
void swap (Symbol &other) noexcept
 
virtual const std::string & name () const
 Return the symbol's name.
 
virtual std::string & name ()
 
virtual void name (std::string name)
 Set symbol name.
 
virtual uint64_t value () const
 
virtual void value (uint64_t value)
 
virtual uint64_t size () const
 This size of the symbol (when applicable)
 
virtual void size (uint64_t value)
 
void accept (Visitor &visitor) const override
 Method so that the visitor can visit us.
 
- Public Member Functions inherited from LIEF::Object
 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
 
virtual ~Object ()
 

Additional Inherited Members

- 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>>>
 

Detailed Description

Class that represents a PE symbol.

Constructor & Destructor Documentation

◆ Symbol() [1/3]

LIEF::PE::Symbol::Symbol ( const details::pe_symbol & header)

◆ Symbol() [2/3]

LIEF::PE::Symbol::Symbol ( )

◆ ~Symbol()

LIEF::PE::Symbol::~Symbol ( )
override

◆ Symbol() [3/3]

LIEF::PE::Symbol::Symbol ( const Symbol & other)

Member Function Documentation

◆ accept()

void LIEF::PE::Symbol::accept ( Visitor & visitor) const
overridevirtual

Implements LIEF::Object.

◆ base_type()

SYMBOL_BASE_TYPES LIEF::PE::Symbol::base_type ( ) const

◆ complex_type()

SYMBOL_COMPLEX_TYPES LIEF::PE::Symbol::complex_type ( ) const

◆ has_section()

bool LIEF::PE::Symbol::has_section ( ) const

True if symbols are located in a section

◆ numberof_aux_symbols()

uint8_t LIEF::PE::Symbol::numberof_aux_symbols ( ) const

◆ operator=()

Symbol & LIEF::PE::Symbol::operator= ( Symbol other)

◆ section() [1/2]

Section * LIEF::PE::Symbol::section ( )

◆ section() [2/2]

const Section * LIEF::PE::Symbol::section ( ) const

◆ section_number()

int16_t LIEF::PE::Symbol::section_number ( ) const

◆ storage_class()

SYMBOL_STORAGE_CLASS LIEF::PE::Symbol::storage_class ( ) const

◆ swap()

void LIEF::PE::Symbol::swap ( Symbol & other)

◆ type()

uint16_t LIEF::PE::Symbol::type ( ) const

◆ wname()

std::wstring LIEF::PE::Symbol::wname ( ) const

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