clang 20.0.0git
|
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. More...
#include "clang/CodeGen/ConstantInitBuilder.h"
Public Types | |
using | InitBuilder = typename Traits::InitBuilder |
using | AggregateBuilderBase = typename Traits::AggregateBuilderBase |
Public Types inherited from clang::CodeGen::ConstantAggregateBuilderTemplateBase< Traits::StructBuilder, Traits > | |
using | InitBuilder = typename Traits::InitBuilder |
using | ArrayBuilder = typename Traits::ArrayBuilder |
using | StructBuilder = typename Traits::StructBuilder |
using | AggregateBuilderBase = typename Traits::AggregateBuilderBase |
Public Member Functions | |
void | setPacked (bool packed) |
void | suggestType (llvm::StructType *structTy) |
Use the given type for the struct if its element count is correct. | |
Public Member Functions inherited from clang::CodeGen::ConstantAggregateBuilderTemplateBase< Traits::StructBuilder, Traits > | |
ArrayBuilder | beginArray (llvm::Type *eltTy=nullptr) |
StructBuilder | beginStruct (llvm::StructType *ty=nullptr) |
void | finishAndAddTo (AggregateBuilderBase &parent) |
Given that this builder was created by beginning an array or struct component on the given parent builder, finish the array/struct component and add it to the parent. | |
llvm::GlobalVariable * | finishAndCreateGlobal (As &&...args) |
Given that this builder was created by beginning an array or struct directly on a ConstantInitBuilder, finish the array/struct and create a global variable with it as the initializer. | |
void | finishAndSetAsInitializer (llvm::GlobalVariable *global) |
Given that this builder was created by beginning an array or struct directly on a ConstantInitBuilder, finish the array/struct and set it as the initializer of the given global variable. | |
ConstantInitFuture | finishAndCreateFuture () |
Given that this builder was created by beginning an array or struct directly on a ConstantInitBuilder, finish the array/struct and return a future which can be used to install the initializer in a global later. | |
Protected Member Functions | |
ConstantStructBuilderTemplateBase (InitBuilder &builder, AggregateBuilderBase *parent, llvm::StructType *structTy) | |
Protected Member Functions inherited from clang::CodeGen::ConstantAggregateBuilderTemplateBase< Traits::StructBuilder, Traits > | |
ConstantAggregateBuilderTemplateBase (InitBuilder &builder, AggregateBuilderBase *parent) | |
Traits::StructBuilder & | asImpl () |
Friends | |
template<class , class > | |
class | ConstantAggregateBuilderTemplateBase |
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.
Definition at line 456 of file ConstantInitBuilder.h.
using clang::CodeGen::ConstantStructBuilderTemplateBase< Traits >::AggregateBuilderBase = typename Traits::AggregateBuilderBase |
Definition at line 464 of file ConstantInitBuilder.h.
using clang::CodeGen::ConstantStructBuilderTemplateBase< Traits >::InitBuilder = typename Traits::InitBuilder |
Definition at line 463 of file ConstantInitBuilder.h.
|
inlineprotected |
Definition at line 473 of file ConstantInitBuilder.h.
|
inline |
Definition at line 481 of file ConstantInitBuilder.h.
|
inline |
Use the given type for the struct if its element count is correct.
Don't add more elements after calling this.
Definition at line 487 of file ConstantInitBuilder.h.
|
friend |
Definition at line 470 of file ConstantInitBuilder.h.