Halide
Halide::Internal::Elf::Symbol Class Reference

Describes a symbol. More...

#include <Elf.h>

Public Types

enum  Binding : uint8_t {
  STB_LOCAL = 0, STB_GLOBAL = 1, STB_WEAK = 2, STB_LOPROC = 13,
  STB_HIPROC = 15
}
 
enum  Type : uint8_t {
  STT_NOTYPE = 0, STT_OBJECT = 1, STT_FUNC = 2, STT_SECTION = 3,
  STT_FILE = 4, STT_LOPROC = 13, STT_HIPROC = 15
}
 
enum  Visibility : uint8_t { STV_DEFAULT = 0, STV_INTERNAL = 1, STV_HIDDEN = 2, STV_PROTECTED = 3 }
 

Public Member Functions

 Symbol ()=default
 
 Symbol (const std::string &name)
 
Symbolset_name (const std::string &name)
 Accesses the name of this symbol. More...
 
const std::string & get_name () const
 Accesses the name of this symbol. More...
 
Symbolset_type (Type type)
 Accesses the type of this symbol. More...
 
Type get_type () const
 Accesses the type of this symbol. More...
 
Symboldefine (const Section *section, uint64_t offset, uint32_t size)
 Accesses the properties that describe the definition of this symbol. More...
 
bool is_defined () const
 Accesses the properties that describe the definition of this symbol. More...
 
const Sectionget_section () const
 Accesses the properties that describe the definition of this symbol. More...
 
uint64_t get_offset () const
 Accesses the properties that describe the definition of this symbol. More...
 
uint32_t get_size () const
 Accesses the properties that describe the definition of this symbol. More...
 
Symbolset_binding (Binding binding)
 Access the binding and visibility of this symbol. More...
 
Symbolset_visibility (Visibility visibility)
 Access the binding and visibility of this symbol. More...
 
Binding get_binding () const
 Access the binding and visibility of this symbol. More...
 
Visibility get_visibility () const
 Access the binding and visibility of this symbol. More...
 

Detailed Description

Describes a symbol.

Definition at line 50 of file Elf.h.

Member Enumeration Documentation

◆ Binding

Enumerator
STB_LOCAL 
STB_GLOBAL 
STB_WEAK 
STB_LOPROC 
STB_HIPROC 

Definition at line 52 of file Elf.h.

◆ Type

Enumerator
STT_NOTYPE 
STT_OBJECT 
STT_FUNC 
STT_SECTION 
STT_FILE 
STT_LOPROC 
STT_HIPROC 

Definition at line 60 of file Elf.h.

◆ Visibility

Enumerator
STV_DEFAULT 
STV_INTERNAL 
STV_HIDDEN 
STV_PROTECTED 

Definition at line 70 of file Elf.h.

Constructor & Destructor Documentation

◆ Symbol() [1/2]

Halide::Internal::Elf::Symbol::Symbol ( )
default

◆ Symbol() [2/2]

Halide::Internal::Elf::Symbol::Symbol ( const std::string &  name)
inline

Definition at line 88 of file Elf.h.

Member Function Documentation

◆ set_name()

Symbol& Halide::Internal::Elf::Symbol::set_name ( const std::string &  name)
inline

Accesses the name of this symbol.

Definition at line 94 of file Elf.h.

◆ get_name()

const std::string& Halide::Internal::Elf::Symbol::get_name ( ) const
inline

Accesses the name of this symbol.

Definition at line 98 of file Elf.h.

◆ set_type()

Symbol& Halide::Internal::Elf::Symbol::set_type ( Type  type)
inline

Accesses the type of this symbol.

Definition at line 105 of file Elf.h.

◆ get_type()

Type Halide::Internal::Elf::Symbol::get_type ( ) const
inline

Accesses the type of this symbol.

Definition at line 109 of file Elf.h.

◆ define()

Symbol& Halide::Internal::Elf::Symbol::define ( const Section section,
uint64_t  offset,
uint32_t  size 
)
inline

Accesses the properties that describe the definition of this symbol.

Definition at line 116 of file Elf.h.

◆ is_defined()

bool Halide::Internal::Elf::Symbol::is_defined ( ) const
inline

Accesses the properties that describe the definition of this symbol.

Definition at line 122 of file Elf.h.

◆ get_section()

const Section* Halide::Internal::Elf::Symbol::get_section ( ) const
inline

Accesses the properties that describe the definition of this symbol.

Definition at line 125 of file Elf.h.

◆ get_offset()

uint64_t Halide::Internal::Elf::Symbol::get_offset ( ) const
inline

Accesses the properties that describe the definition of this symbol.

Definition at line 128 of file Elf.h.

◆ get_size()

uint32_t Halide::Internal::Elf::Symbol::get_size ( ) const
inline

Accesses the properties that describe the definition of this symbol.

Definition at line 131 of file Elf.h.

◆ set_binding()

Symbol& Halide::Internal::Elf::Symbol::set_binding ( Binding  binding)
inline

Access the binding and visibility of this symbol.

See the ELF spec for more information about these properties.

Definition at line 139 of file Elf.h.

◆ set_visibility()

Symbol& Halide::Internal::Elf::Symbol::set_visibility ( Visibility  visibility)
inline

Access the binding and visibility of this symbol.

See the ELF spec for more information about these properties.

Definition at line 143 of file Elf.h.

◆ get_binding()

Binding Halide::Internal::Elf::Symbol::get_binding ( ) const
inline

Access the binding and visibility of this symbol.

See the ELF spec for more information about these properties.

Definition at line 147 of file Elf.h.

◆ get_visibility()

Visibility Halide::Internal::Elf::Symbol::get_visibility ( ) const
inline

Access the binding and visibility of this symbol.

See the ELF spec for more information about these properties.

Definition at line 150 of file Elf.h.


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