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

This class represents a symbol in an executable format. More...

#include <Symbol.hpp>

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

Public Member Functions

 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

This class represents a symbol in an executable format.

Constructor & Destructor Documentation

◆ Symbol() [1/5]

LIEF::Symbol::Symbol ( )
default

◆ Symbol() [2/5]

LIEF::Symbol::Symbol ( std::string name)
inline

◆ Symbol() [3/5]

LIEF::Symbol::Symbol ( std::string name,
uint64_t value )
inline

◆ Symbol() [4/5]

LIEF::Symbol::Symbol ( std::string name,
uint64_t value,
uint64_t size )
inline

◆ Symbol() [5/5]

LIEF::Symbol::Symbol ( const Symbol & )
default

◆ ~Symbol()

LIEF::Symbol::~Symbol ( )
overridedefault

Member Function Documentation

◆ accept()

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

Method so that the visitor can visit us.

Implements LIEF::Object.

◆ name() [1/3]

virtual std::string & LIEF::Symbol::name ( )
inlinevirtual

◆ name() [2/3]

virtual const std::string & LIEF::Symbol::name ( ) const
inlinevirtual

Return the symbol's name.

◆ name() [3/3]

virtual void LIEF::Symbol::name ( std::string name)
inlinevirtual

Set symbol name.

◆ operator=()

Symbol & LIEF::Symbol::operator= ( const Symbol & )
default

◆ size() [1/2]

virtual uint64_t LIEF::Symbol::size ( ) const
inlinevirtual

This size of the symbol (when applicable)

Reimplemented in LIEF::ELF::Symbol.

◆ size() [2/2]

virtual void LIEF::Symbol::size ( uint64_t value)
inlinevirtual

Reimplemented in LIEF::ELF::Symbol.

◆ swap()

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

◆ value() [1/2]

virtual uint64_t LIEF::Symbol::value ( ) const
inlinevirtual

Reimplemented in LIEF::ELF::Symbol, and LIEF::PE::ExportEntry.

◆ value() [2/2]

virtual void LIEF::Symbol::value ( uint64_t value)
inlinevirtual

Reimplemented in LIEF::ELF::Symbol, and LIEF::PE::ExportEntry.


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