class ConstantStructBuilderTemplateBase

Declaration

template <class Traits>
class ConstantStructBuilderTemplateBase { /* full declaration omitted */ };

Description

A template class designed to allow other frontends to easily customize the builder classes used by ConstantInitBuilder, and thus to extend the API to work with the abstractions they prefer. This would probably not be necessary if C++ just supported extension methods.

Declared at: clang/include/clang/CodeGen/ConstantInitBuilder.h:453

Templates

Traits

Member Variables

private llvm::StructType* StructTy

Method Overview

  • protected ConstantStructBuilderTemplateBase<Traits>(clang::CodeGen::ConstantStructBuilderTemplateBase::InitBuilder & builder, clang::CodeGen::ConstantStructBuilderTemplateBase::AggregateBuilderBase * parent, llvm::StructType * structTy)
  • private llvm::Constant * finishImpl()
  • public void setPacked(bool packed)
  • public void suggestType(llvm::StructType * structTy)

Methods

ConstantStructBuilderTemplateBase<Traits>(
    clang::CodeGen::
        ConstantStructBuilderTemplateBase::
            InitBuilder& builder,
    clang::CodeGen::
        ConstantStructBuilderTemplateBase::
            AggregateBuilderBase* parent,
    llvm::StructType* structTy)

Declared at: clang/include/clang/CodeGen/ConstantInitBuilder.h:470

Parameters

clang::CodeGen:: ConstantStructBuilderTemplateBase:: InitBuilder& builder
clang::CodeGen:: ConstantStructBuilderTemplateBase:: AggregateBuilderBase* parent
llvm::StructType* structTy

llvm::Constant* finishImpl()

Description

Form an array constant from the values that have been added to this builder.

Declared at: clang/include/clang/CodeGen/ConstantInitBuilder.h:493

void setPacked(bool packed)

Declared at: clang/include/clang/CodeGen/ConstantInitBuilder.h:478

Parameters

bool packed

void suggestType(llvm::StructType* structTy)

Description

Use the given type for the struct if its element count is correct. Don't add more elements after calling this.

Declared at: clang/include/clang/CodeGen/ConstantInitBuilder.h:484

Parameters

llvm::StructType* structTy