My Project
Public Types | Public Member Functions | Static Public Member Functions | List of all members
mlir::spirv::StructType Class Reference

#include <SPIRVTypes.h>

Inheritance diagram for mlir::spirv::StructType:
Inheritance graph
[legend]
Collaboration diagram for mlir::spirv::StructType:
Collaboration graph
[legend]

Public Types

using LayoutInfo = uint64_t
 
using MemberDecorationInfo = std::pair< uint32_t, spirv::Decoration >
 
- Public Types inherited from mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT >
using Base = StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT >
 Utility declarations for the concrete attribute class. More...
 
using ImplType = StorageT
 

Public Member Functions

unsigned getNumElements () const
 
Type getElementType (unsigned) const
 
bool hasLayout () const
 
uint64_t getOffset (unsigned) const
 
void getMemberDecorations (SmallVectorImpl< StructType::MemberDecorationInfo > &allMemberDecorations) const
 
void getMemberDecorations (unsigned i, SmallVectorImpl< spirv::Decoration > &memberDecorations) const
 

Static Public Member Functions

static bool kindof (unsigned kind)
 
static StructType get (ArrayRef< Type > memberTypes, ArrayRef< LayoutInfo > layoutInfo={}, ArrayRef< MemberDecorationInfo > memberDecorations={})
 Construct a StructType with at least one member. More...
 
static StructType getEmpty (MLIRContext *context)
 Construct a struct with no members. More...
 
- Static Public Member Functions inherited from mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT >
static ClassIDgetClassID ()
 Return a unique identifier for the concrete type. More...
 
template<typename T >
static bool classof (T val)
 

Additional Inherited Members

- Protected Member Functions inherited from mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT >
ImplTypegetImpl () const
 Utility for easy access to the storage instance. More...
 
- Static Protected Member Functions inherited from mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT >
template<typename... Args>
static ConcreteT get (MLIRContext *ctx, unsigned kind, Args... args)
 
template<typename... Args>
static ConcreteT getChecked (const Location &loc, MLIRContext *ctx, unsigned kind, Args... args)
 
template<typename... Args>
static LogicalResult verifyConstructionInvariants (Args... args)
 Default implementation that just returns success. More...
 

Member Typedef Documentation

◆ LayoutInfo

◆ MemberDecorationInfo

using mlir::spirv::StructType::MemberDecorationInfo = std::pair<uint32_t, spirv::Decoration>

Member Function Documentation

◆ get()

StructType StructType::get ( ArrayRef< Type memberTypes,
ArrayRef< LayoutInfo layoutInfo = {},
ArrayRef< MemberDecorationInfo memberDecorations = {} 
)
static

Construct a StructType with at least one member.

◆ getElementType()

Type StructType::getElementType ( unsigned  index) const

◆ getEmpty()

StructType StructType::getEmpty ( MLIRContext context)
static

Construct a struct with no members.

◆ getMemberDecorations() [1/2]

void StructType::getMemberDecorations ( SmallVectorImpl< StructType::MemberDecorationInfo > &  allMemberDecorations) const

◆ getMemberDecorations() [2/2]

void StructType::getMemberDecorations ( unsigned  i,
SmallVectorImpl< spirv::Decoration > &  memberDecorations 
) const

◆ getNumElements()

unsigned StructType::getNumElements ( ) const

◆ getOffset()

uint64_t StructType::getOffset ( unsigned  index) const

◆ hasLayout()

bool StructType::hasLayout ( ) const

◆ kindof()

static bool mlir::spirv::StructType::kindof ( unsigned  kind)
inlinestatic

The documentation for this class was generated from the following files: