LLVM 20.0.0git
Public Types | Static Public Attributes | List of all members
llvm::object::ELFType< E, Is64 > Struct Template Reference

#include "llvm/Object/ELFTypes.h"

Public Types

using uint = std::conditional_t< Is64, uint64_t, uint32_t >
 
using Ehdr = Elf_Ehdr_Impl< ELFType< E, Is64 > >
 
using Shdr = Elf_Shdr_Impl< ELFType< E, Is64 > >
 
using Sym = Elf_Sym_Impl< ELFType< E, Is64 > >
 
using Dyn = Elf_Dyn_Impl< ELFType< E, Is64 > >
 
using Phdr = Elf_Phdr_Impl< ELFType< E, Is64 > >
 
using Rel = Elf_Rel_Impl< ELFType< E, Is64 >, false >
 
using Rela = Elf_Rel_Impl< ELFType< E, Is64 >, true >
 
using Crel = Elf_Crel_Impl< Is64 >
 
using Relr = packed< uint >
 
using Verdef = Elf_Verdef_Impl< ELFType< E, Is64 > >
 
using Verdaux = Elf_Verdaux_Impl< ELFType< E, Is64 > >
 
using Verneed = Elf_Verneed_Impl< ELFType< E, Is64 > >
 
using Vernaux = Elf_Vernaux_Impl< ELFType< E, Is64 > >
 
using Versym = Elf_Versym_Impl< ELFType< E, Is64 > >
 
using Hash = Elf_Hash_Impl< ELFType< E, Is64 > >
 
using GnuHash = Elf_GnuHash_Impl< ELFType< E, Is64 > >
 
using Chdr = Elf_Chdr_Impl< ELFType< E, Is64 > >
 
using Nhdr = Elf_Nhdr_Impl< ELFType< E, Is64 > >
 
using Note = Elf_Note_Impl< ELFType< E, Is64 > >
 
using NoteIterator = Elf_Note_Iterator_Impl< ELFType< E, Is64 > >
 
using CGProfile = Elf_CGProfile_Impl< ELFType< E, Is64 > >
 
using DynRange = ArrayRef< Dyn >
 
using ShdrRange = ArrayRef< Shdr >
 
using SymRange = ArrayRef< Sym >
 
using RelRange = ArrayRef< Rel >
 
using RelaRange = ArrayRef< Rela >
 
using RelrRange = ArrayRef< Relr >
 
using PhdrRange = ArrayRef< Phdr >
 
using Half = packed< uint16_t >
 
using Word = packed< uint32_t >
 
using Sword = packed< int32_t >
 
using Xword = packed< uint64_t >
 
using Sxword = packed< int64_t >
 
using Addr = packed< uint >
 
using Off = packed< uint >
 

Static Public Attributes

static const endianness Endianness = E
 
static const bool Is64Bits = Is64
 

Detailed Description

template<endianness E, bool Is64>
struct llvm::object::ELFType< E, Is64 >

Definition at line 49 of file ELFTypes.h.

Member Typedef Documentation

◆ Addr

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Addr = packed<uint>

Definition at line 93 of file ELFTypes.h.

◆ CGProfile

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::CGProfile = Elf_CGProfile_Impl<ELFType<E, Is64> >

Definition at line 79 of file ELFTypes.h.

◆ Chdr

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Chdr = Elf_Chdr_Impl<ELFType<E, Is64> >

Definition at line 75 of file ELFTypes.h.

◆ Crel

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Crel = Elf_Crel_Impl<Is64>

Definition at line 66 of file ELFTypes.h.

◆ Dyn

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Dyn = Elf_Dyn_Impl<ELFType<E, Is64> >

Definition at line 62 of file ELFTypes.h.

◆ DynRange

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::DynRange = ArrayRef<Dyn>

Definition at line 80 of file ELFTypes.h.

◆ Ehdr

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Ehdr = Elf_Ehdr_Impl<ELFType<E, Is64> >

Definition at line 59 of file ELFTypes.h.

◆ GnuHash

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::GnuHash = Elf_GnuHash_Impl<ELFType<E, Is64> >

Definition at line 74 of file ELFTypes.h.

◆ Half

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Half = packed<uint16_t>

Definition at line 88 of file ELFTypes.h.

◆ Hash

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Hash = Elf_Hash_Impl<ELFType<E, Is64> >

Definition at line 73 of file ELFTypes.h.

◆ Nhdr

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Nhdr = Elf_Nhdr_Impl<ELFType<E, Is64> >

Definition at line 76 of file ELFTypes.h.

◆ Note

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Note = Elf_Note_Impl<ELFType<E, Is64> >

Definition at line 77 of file ELFTypes.h.

◆ NoteIterator

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::NoteIterator = Elf_Note_Iterator_Impl<ELFType<E, Is64> >

Definition at line 78 of file ELFTypes.h.

◆ Off

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Off = packed<uint>

Definition at line 94 of file ELFTypes.h.

◆ Phdr

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Phdr = Elf_Phdr_Impl<ELFType<E, Is64> >

Definition at line 63 of file ELFTypes.h.

◆ PhdrRange

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::PhdrRange = ArrayRef<Phdr>

Definition at line 86 of file ELFTypes.h.

◆ Rel

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Rel = Elf_Rel_Impl<ELFType<E, Is64>, false>

Definition at line 64 of file ELFTypes.h.

◆ Rela

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Rela = Elf_Rel_Impl<ELFType<E, Is64>, true>

Definition at line 65 of file ELFTypes.h.

◆ RelaRange

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::RelaRange = ArrayRef<Rela>

Definition at line 84 of file ELFTypes.h.

◆ Relr

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Relr = packed<uint>

Definition at line 67 of file ELFTypes.h.

◆ RelRange

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::RelRange = ArrayRef<Rel>

Definition at line 83 of file ELFTypes.h.

◆ RelrRange

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::RelrRange = ArrayRef<Relr>

Definition at line 85 of file ELFTypes.h.

◆ Shdr

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Shdr = Elf_Shdr_Impl<ELFType<E, Is64> >

Definition at line 60 of file ELFTypes.h.

◆ ShdrRange

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::ShdrRange = ArrayRef<Shdr>

Definition at line 81 of file ELFTypes.h.

◆ Sword

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Sword = packed<int32_t>

Definition at line 90 of file ELFTypes.h.

◆ Sxword

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Sxword = packed<int64_t>

Definition at line 92 of file ELFTypes.h.

◆ Sym

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Sym = Elf_Sym_Impl<ELFType<E, Is64> >

Definition at line 61 of file ELFTypes.h.

◆ SymRange

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::SymRange = ArrayRef<Sym>

Definition at line 82 of file ELFTypes.h.

◆ uint

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::uint = std::conditional_t<Is64, uint64_t, uint32_t>

Definition at line 58 of file ELFTypes.h.

◆ Verdaux

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Verdaux = Elf_Verdaux_Impl<ELFType<E, Is64> >

Definition at line 69 of file ELFTypes.h.

◆ Verdef

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Verdef = Elf_Verdef_Impl<ELFType<E, Is64> >

Definition at line 68 of file ELFTypes.h.

◆ Vernaux

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Vernaux = Elf_Vernaux_Impl<ELFType<E, Is64> >

Definition at line 71 of file ELFTypes.h.

◆ Verneed

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Verneed = Elf_Verneed_Impl<ELFType<E, Is64> >

Definition at line 70 of file ELFTypes.h.

◆ Versym

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Versym = Elf_Versym_Impl<ELFType<E, Is64> >

Definition at line 72 of file ELFTypes.h.

◆ Word

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Word = packed<uint32_t>

Definition at line 89 of file ELFTypes.h.

◆ Xword

template<endianness E, bool Is64>
using llvm::object::ELFType< E, Is64 >::Xword = packed<uint64_t>

Definition at line 91 of file ELFTypes.h.

Member Data Documentation

◆ Endianness

template<endianness E, bool Is64>
const endianness llvm::object::ELFType< E, Is64 >::Endianness = E
static

Definition at line 55 of file ELFTypes.h.

◆ Is64Bits

template<endianness E, bool Is64>
const bool llvm::object::ELFType< E, Is64 >::Is64Bits = Is64
static

Definition at line 56 of file ELFTypes.h.


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