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 49 of file Elf.h.

Member Enumeration Documentation

◆ Binding

Enumerator
STB_LOCAL 
STB_GLOBAL 
STB_WEAK 
STB_LOPROC 
STB_HIPROC 

Definition at line 51 of file Elf.h.

◆ Type

Enumerator
STT_NOTYPE 
STT_OBJECT 
STT_FUNC 
STT_SECTION 
STT_FILE 
STT_LOPROC 
STT_HIPROC 

Definition at line 59 of file Elf.h.

◆ Visibility

Enumerator
STV_DEFAULT 
STV_INTERNAL 
STV_HIDDEN 
STV_PROTECTED 

Definition at line 69 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 87 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 93 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 97 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 104 of file Elf.h.

◆ get_type()

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

Accesses the type of this symbol.

Definition at line 108 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 115 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 121 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 124 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 127 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 130 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 138 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 142 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 146 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 149 of file Elf.h.


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