class VTableLayout

Declaration

class VTableLayout { /* full declaration omitted */ };

Declared at: clang/include/clang/AST/VTableBuilder.h:233

Member Variables

private OwningArrayRef<size_t> VTableIndices
private OwningArrayRef<clang::VTableComponent> VTableComponents
private OwningArrayRef<clang::VTableLayout::VTableThunkTy> VTableThunks
Contains thunks needed by vtables, sorted by indices.
private clang::VTableLayout::AddressPointsMapTy AddressPoints
Address points for all vtables.
private clang::VTableLayout::AddressPointsIndexMapTy AddressPointIndices
Address points for all vtable indices.

Method Overview

  • public VTableLayout(ArrayRef<size_t> VTableIndices, ArrayRef<clang::VTableComponent> VTableComponents, ArrayRef<clang::VTableLayout::VTableThunkTy> VTableThunks, const clang::VTableLayout::AddressPointsMapTy & AddressPoints)
  • public clang::VTableLayout::AddressPointLocation getAddressPoint(clang::BaseSubobject Base) const
  • public const clang::VTableLayout::AddressPointsIndexMapTy & getAddressPointIndices() const
  • public const clang::VTableLayout::AddressPointsMapTy & getAddressPoints() const
  • public size_t getNumVTables() const
  • public size_t getVTableOffset(size_t i) const
  • public size_t getVTableSize(size_t i) const
  • public ArrayRef<clang::VTableComponent> vtable_components() const
  • public ArrayRef<clang::VTableLayout::VTableThunkTy> vtable_thunks() const
  • public ~VTableLayout()

Methods

VTableLayout(
    ArrayRef<size_t> VTableIndices,
    ArrayRef<clang::VTableComponent>
        VTableComponents,
    ArrayRef<clang::VTableLayout::VTableThunkTy>
        VTableThunks,
    const clang::VTableLayout::AddressPointsMapTy&
        AddressPoints)

Declared at: clang/include/clang/AST/VTableBuilder.h:266

Parameters

ArrayRef<size_t> VTableIndices
ArrayRef<clang::VTableComponent> VTableComponents
ArrayRef<clang::VTableLayout::VTableThunkTy> VTableThunks
const clang::VTableLayout::AddressPointsMapTy& AddressPoints

clang::VTableLayout::AddressPointLocation
getAddressPoint(clang::BaseSubobject Base) const

Declared at: clang/include/clang/AST/VTableBuilder.h:280

Parameters

clang::BaseSubobject Base

const clang::VTableLayout::
    AddressPointsIndexMapTy&
    getAddressPointIndices() const

Declared at: clang/include/clang/AST/VTableBuilder.h:289

const clang::VTableLayout::AddressPointsMapTy&
getAddressPoints() const

Declared at: clang/include/clang/AST/VTableBuilder.h:285

size_t getNumVTables() const

Declared at: clang/include/clang/AST/VTableBuilder.h:293

size_t getVTableOffset(size_t i) const

Declared at: clang/include/clang/AST/VTableBuilder.h:299

Parameters

size_t i

size_t getVTableSize(size_t i) const

Declared at: clang/include/clang/AST/VTableBuilder.h:307

Parameters

size_t i

ArrayRef<clang::VTableComponent>
vtable_components() const

Declared at: clang/include/clang/AST/VTableBuilder.h:272

ArrayRef<clang::VTableLayout::VTableThunkTy>
vtable_thunks() const

Declared at: clang/include/clang/AST/VTableBuilder.h:276

~VTableLayout()

Declared at: clang/include/clang/AST/VTableBuilder.h:270