clang 23.0.0git
cir::detail::StructTypeStorage Struct Reference

Type storage for CIR struct/class types. More...

#include "clang/CIR/Dialect/IR/CIRTypesDetails.h"

Inheritance diagram for cir::detail::StructTypeStorage:
[legend]

Classes

struct  KeyTy

Public Member Functions

 StructTypeStorage (llvm::ArrayRef< mlir::Type > members, mlir::StringAttr name, bool incomplete, bool packed, bool padded, bool is_class)
KeyTy getAsKey () const
bool operator== (const KeyTy &key) const
llvm::LogicalResult mutate (mlir::TypeStorageAllocator &allocator, llvm::ArrayRef< mlir::Type > members, bool packed, bool padded)
 Mutates the members and attributes of an identified struct/class.

Static Public Member Functions

static llvm::hash_code hashKey (const KeyTy &key)
static StructTypeStorageconstruct (mlir::TypeStorageAllocator &allocator, const KeyTy &key)

Public Attributes

llvm::ArrayRef< mlir::Type > members
mlir::StringAttr name
bool incomplete
bool packed
bool padded
bool is_class

Detailed Description

Type storage for CIR struct/class types.

Definition at line 29 of file CIRTypesDetails.h.

Constructor & Destructor Documentation

◆ StructTypeStorage()

cir::detail::StructTypeStorage::StructTypeStorage ( llvm::ArrayRef< mlir::Type > members,
mlir::StringAttr name,
bool incomplete,
bool packed,
bool padded,
bool is_class )
inline

Definition at line 51 of file CIRTypesDetails.h.

References incomplete, is_class, members, name, packed, and padded.

Referenced by construct().

Member Function Documentation

◆ construct()

◆ getAsKey()

KeyTy cir::detail::StructTypeStorage::getAsKey ( ) const
inline

Definition at line 58 of file CIRTypesDetails.h.

References incomplete, is_class, members, name, packed, and padded.

◆ hashKey()

◆ mutate()

llvm::LogicalResult cir::detail::StructTypeStorage::mutate ( mlir::TypeStorageAllocator & allocator,
llvm::ArrayRef< mlir::Type > members,
bool packed,
bool padded )
inline

Mutates the members and attributes of an identified struct/class.

Definition at line 85 of file CIRTypesDetails.h.

References incomplete, members, name, packed, and padded.

◆ operator==()

Member Data Documentation

◆ incomplete

bool cir::detail::StructTypeStorage::incomplete

Definition at line 46 of file CIRTypesDetails.h.

Referenced by getAsKey(), mutate(), operator==(), and StructTypeStorage().

◆ is_class

bool cir::detail::StructTypeStorage::is_class

Definition at line 49 of file CIRTypesDetails.h.

Referenced by getAsKey(), operator==(), and StructTypeStorage().

◆ members

llvm::ArrayRef<mlir::Type> cir::detail::StructTypeStorage::members

Definition at line 44 of file CIRTypesDetails.h.

Referenced by getAsKey(), mutate(), operator==(), and StructTypeStorage().

◆ name

mlir::StringAttr cir::detail::StructTypeStorage::name

Definition at line 45 of file CIRTypesDetails.h.

Referenced by getAsKey(), mutate(), operator==(), and StructTypeStorage().

◆ packed

bool cir::detail::StructTypeStorage::packed

Definition at line 47 of file CIRTypesDetails.h.

Referenced by getAsKey(), mutate(), operator==(), and StructTypeStorage().

◆ padded

bool cir::detail::StructTypeStorage::padded

Definition at line 48 of file CIRTypesDetails.h.

Referenced by getAsKey(), mutate(), operator==(), and StructTypeStorage().


The documentation for this struct was generated from the following file: