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.