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 (Symbol &&)=default
Symboloperator= (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)
 Object (Object &&other) noexcept=default
Objectoperator= (Object &&other) noexcept=default
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/6]

◆ Symbol() [2/6]

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

References name().

◆ Symbol() [3/6]

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

References name(), and value().

◆ Symbol() [4/6]

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

References name(), size(), and value().

◆ Symbol() [5/6]

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

References Symbol().

◆ Symbol() [6/6]

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

References Symbol().

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

Reimplemented in LIEF::COFF::Symbol.

◆ name() [2/3]

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

◆ name() [3/3]

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

Set symbol name.

References name().

◆ operator=() [1/2]

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

References Symbol().

◆ operator=() [2/2]

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

References Symbol().

◆ size() [1/2]

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

This size of the symbol (when applicable).

Reimplemented in LIEF::ELF::Symbol.

Referenced by Symbol().

◆ size() [2/2]

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

Reimplemented in LIEF::ELF::Symbol.

References value().

◆ swap()

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

References Symbol().

◆ value() [1/2]

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

◆ value() [2/2]

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

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

References value().


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