LLVM API Documentation

Functions
Structure Types
Types
Collaboration diagram for Structure Types:

Functions

LLVMTypeRef LLVMStructTypeInContext (LLVMContextRef C, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
LLVMTypeRef LLVMStructType (LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
LLVMTypeRef LLVMStructCreateNamed (LLVMContextRef C, const char *Name)
const char * LLVMGetStructName (LLVMTypeRef Ty)
void LLVMStructSetBody (LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)
unsigned LLVMCountStructElementTypes (LLVMTypeRef StructTy)
void LLVMGetStructElementTypes (LLVMTypeRef StructTy, LLVMTypeRef *Dest)
LLVMBool LLVMIsPackedStruct (LLVMTypeRef StructTy)
LLVMBool LLVMIsOpaqueStruct (LLVMTypeRef StructTy)

Detailed Description

These functions relate to LLVMTypeRef instances.

See also:
llvm::StructType

Function Documentation

Get the number of elements defined inside the structure.

See also:
llvm::StructType::getNumElements()

Definition at line 433 of file Core.cpp.

void LLVMGetStructElementTypes ( LLVMTypeRef  StructTy,
LLVMTypeRef Dest 
)

Get the elements within a structure.

The function is passed the address of a pre-allocated array of LLVMTypeRef at least LLVMCountStructElementTypes() long. After invocation, this array will be populated with the structure's elements. The objects in the destination array will have a lifetime of the structure type itself, which is the lifetime of the context it is contained in.

Definition at line 437 of file Core.cpp.

References llvm::StructType::element_begin(), llvm::StructType::element_end(), I, and llvm::wrap().

Obtain the name of a structure.

See also:
llvm::StructType::getName()

Definition at line 419 of file Core.cpp.

References llvm::StringRef::data(), llvm::StructType::getName(), and llvm::StructType::hasName().

Determine whether a structure is opaque.

See also:
llvm::StructType::isOpaque()

Definition at line 448 of file Core.cpp.

Determine whether a structure is packed.

See also:
llvm::StructType::isPacked()

Definition at line 444 of file Core.cpp.

Create an empty structure in a context having a specified name.

See also:
llvm::StructType::create()

Definition at line 414 of file Core.cpp.

References llvm::StructType::create(), llvm::unwrap(), and llvm::wrap().

void LLVMStructSetBody ( LLVMTypeRef  StructTy,
LLVMTypeRef ElementTypes,
unsigned  ElementCount,
LLVMBool  Packed 
)

Set the contents of a structure type.

See also:
llvm::StructType::setBody()

Definition at line 427 of file Core.cpp.

References llvm::unwrap().

LLVMTypeRef LLVMStructType ( LLVMTypeRef ElementTypes,
unsigned  ElementCount,
LLVMBool  Packed 
)

Create a new structure type in the global context.

See also:
llvm::StructType::create()

Definition at line 408 of file Core.cpp.

References LLVMGetGlobalContext(), and LLVMStructTypeInContext().

LLVMTypeRef LLVMStructTypeInContext ( LLVMContextRef  C,
LLVMTypeRef ElementTypes,
unsigned  ElementCount,
LLVMBool  Packed 
)

Create a new structure type in a context.

A structure is specified by a list of inner elements/types and whether these can be packed together.

See also:
llvm::StructType::create()

Definition at line 402 of file Core.cpp.

References llvm::StructType::get(), llvm::unwrap(), and llvm::wrap().

Referenced by LLVMStructType().