struct ASTRecordLayout::CXXRecordLayoutInfo

Declaration

struct ASTRecordLayout::CXXRecordLayoutInfo { /* full declaration omitted */ };

Description

CXXRecordLayoutInfo - Contains C++ specific layout information.

Declared at: clang/include/clang/AST/RecordLayout.h:90

Member Variables

public clang::CharUnits NonVirtualSize
NonVirtualSize - The non-virtual size (in chars) of an object, which is the size of the object without virtual bases.
public clang::CharUnits NonVirtualAlignment
NonVirtualAlignment - The non-virtual alignment (in chars) of an object, which is the alignment of the object without virtual bases.
public clang::CharUnits PreferredNVAlignment
PreferredNVAlignment - The preferred non-virtual alignment (in chars) of an object, which is the preferred alignment of the object without virtual bases.
public clang::CharUnits SizeOfLargestEmptySubobject
SizeOfLargestEmptySubobject - The size of the largest empty subobject (either a base or a member). Will be zero if the class doesn't contain any empty subobjects.
public clang::CharUnits VBPtrOffset
VBPtrOffset - Virtual base table offset (Microsoft-only).
public bool HasOwnVFPtr
HasOwnVFPtr - Does this class provide a virtual function table (vtable in Itanium, vftbl in Microsoft) that is independent from its base classes?
public bool HasExtendableVFPtr
HasVFPtr - Does this class have a vftable that could be extended by a derived class. The class may have inherited this pointer from a primary base class.
public bool EndsWithZeroSizedObject
EndsWithZeroSizedObject - True if this class contains a zero sized member or base or a base with a zero sized member or base. Only used for MS-ABI.
public bool LeadsWithZeroSizedBase
True if this class is zero sized or first base is zero sized or has this property. Only used for MS-ABI.
public llvm:: PointerIntPair<const CXXRecordDecl*, 1, bool> PrimaryBase
PrimaryBase - The primary base info for this record.
public const clang::CXXRecordDecl* BaseSharingVBPtr
BaseSharingVBPtr - The base we share vbptr with.
public clang::ASTRecordLayout::CXXRecordLayoutInfo:: BaseOffsetsMapTy BaseOffsets
BaseOffsets - Contains a map from base classes to their offset.
public clang::ASTRecordLayout::VBaseOffsetsMapTy VBaseOffsets
VBaseOffsets - Contains a map from vbase classes to their offset.