Layout of a base class subobject within a derived UDT.

Synopsis

Declared in <llvm/DebugInfo/PDB/UDTLayout.h>

class BaseClassLayout
    : public UDTLayoutBase

Base Classes

Name

Description

UDTLayoutBase

Base class for layout information of a user‐defined type (UDT).

Member Functions

Name

Description

BaseClassLayout [constructor]

Construct a base‐class layout under Parent.

operator= [deleted]

Deleted; UDT layouts are not assignable.

bases

Return all base‐class layouts (non‐virtual then virtual).

containsOffset

Return true if Off falls within this item's byte range in its parent.

deepPaddingSize

Return the number of unused bytes within this item's extent.

directVirtualBaseCount

Return the number of direct virtual bases of this UDT.

funcs

Return the member functions belonging to this UDT.

getBase

Return the PDB base‐class type symbol.

getLayoutSize

Return the laid‐out size in bytes of this item.

getName

Return the display name of this layout item.

getOffsetInParent

Return the byte offset of this item within its parent.

getParent

Return the containing UDT layout, or null if none.

getSize

Return the size in bytes of this item.

getSymbol

Return the PDB symbol associated with this item, if any.

immediatePadding [virtual]

Return padding immediately introduced by this item (default 0).

isElided

Return true if this item is elided from physical layout.

isEmptyBase

Return true if this is an empty base (size 1 with no laid‐out storage).

isVBPtr [virtual]

Return true if this item is a virtual base pointer.

isVirtualBase

Return true if this is a virtual base class.

layout_items

Return the ordered list of non‐elided layout children.

other_items

Return child symbols that are neither bases, members, nor functions.

regular_bases

Return the non‐virtual base‐class layouts.

tailPadding [virtual]

Return unused bytes at the end of this UDT, excluding child tail padding.

usedBytes

Return the bit vector of bytes occupied by this item.

virtual_bases

Return the virtual base‐class layouts.

Protected Member Functions

Name

Description

addChildToLayout

Own Child and, if not elided, merge it into the layout bit vector.

hasVBPtrAtOffset

Return true if a vbptr already exists at offset Off in this hierarchy.

initializeChildren

Populate base, member, vtable, and function children from Sym.

Protected Data Members

Name

Description

AllBases

All base‐class layouts (non‐virtual followed by virtual).

ChildStorage

Owning storage for all laid‐out child items.

DirectVBaseCount

Number of direct virtual bases of this UDT.

Funcs

Member functions belonging to this UDT.

IsElided

True if this item is omitted from physical layout.

LayoutItems

Non‐elided layout children ordered by offset in the parent.

LayoutSize

Laid‐out size in bytes of this item.

Name

Display name of this layout item.

NonVirtualBases

View of the non‐virtual bases within AllBases.

OffsetInParent

Byte offset of this item within its parent.

Other

Child symbols that are neither bases, data members, nor functions.

Parent

Containing UDT layout, or null for a top‐level item.

SizeOf

Size in bytes of this item.

Symbol

PDB symbol this layout item represents, if any.

UsedBytes

Bit vector of bytes occupied within this item's size.

VBPtr

Virtual base pointer layout item for this UDT, if any.

VTable

Vtable layout item for this UDT, if any.

VirtualBases

View of the virtual bases within AllBases.

Created with MrDocs