MLIR 23.0.0git
mlir::pdll::ast::detail::TypeStorageBase< ConcreteT, KeyT > Struct Template Reference

A utility CRTP base class that defines many of the necessary utilities for defining a PDLL AST Type. More...

#include "mlir/Tools/PDLL/AST/Types.h"

Inheritance diagram for mlir::pdll::ast::detail::TypeStorageBase< ConcreteT, KeyT >:

Public Types

using KeyTy = KeyT
using Base = TypeStorageBase<ConcreteT, KeyT>

Public Member Functions

 TypeStorageBase (KeyTy key)
bool operator== (const KeyTy &key) const
 Utility methods required by the storage allocator.
const KeyTygetValue () const
 Return the key value of this storage class.
Public Member Functions inherited from mlir::pdll::ast::Type::Storage
 Storage (TypeID typeID)

Static Public Member Functions

static ConcreteT * construct (StorageUniquer::StorageAllocator &alloc, const KeyTy &key)
 Construct an instance with the given storage allocator.

Protected Attributes

KeyTy key

Additional Inherited Members

Public Attributes inherited from mlir::pdll::ast::Type::Storage
TypeID typeID
 The type identifier for the derived type class.
Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage
 BaseStorage ()=default

Detailed Description

template<typename ConcreteT, typename KeyT = void>
struct mlir::pdll::ast::detail::TypeStorageBase< ConcreteT, KeyT >

A utility CRTP base class that defines many of the necessary utilities for defining a PDLL AST Type.

Definition at line 108 of file Types.h.

Member Typedef Documentation

◆ Base

template<typename ConcreteT, typename KeyT = void>
using mlir::pdll::ast::detail::TypeStorageBase< ConcreteT, KeyT >::Base = TypeStorageBase<ConcreteT, KeyT>

Definition at line 110 of file Types.h.

◆ KeyTy

template<typename ConcreteT, typename KeyT = void>
using mlir::pdll::ast::detail::TypeStorageBase< ConcreteT, KeyT >::KeyTy = KeyT

Definition at line 109 of file Types.h.

Constructor & Destructor Documentation

◆ TypeStorageBase()

template<typename ConcreteT, typename KeyT = void>
mlir::pdll::ast::detail::TypeStorageBase< ConcreteT, KeyT >::TypeStorageBase ( KeyTy key)
inline

Definition at line 111 of file Types.h.

Member Function Documentation

◆ construct()

template<typename ConcreteT, typename KeyT = void>
ConcreteT * mlir::pdll::ast::detail::TypeStorageBase< ConcreteT, KeyT >::construct ( StorageUniquer::StorageAllocator & alloc,
const KeyTy & key )
inlinestatic

Construct an instance with the given storage allocator.

Definition at line 115 of file Types.h.

◆ getValue()

template<typename ConcreteT, typename KeyT = void>
const KeyTy & mlir::pdll::ast::detail::TypeStorageBase< ConcreteT, KeyT >::getValue ( ) const
inline

Return the key value of this storage class.

Definition at line 124 of file Types.h.

◆ operator==()

template<typename ConcreteT, typename KeyT = void>
bool mlir::pdll::ast::detail::TypeStorageBase< ConcreteT, KeyT >::operator== ( const KeyTy & key) const
inline

Utility methods required by the storage allocator.

Definition at line 121 of file Types.h.

Member Data Documentation

◆ key

template<typename ConcreteT, typename KeyT = void>
KeyTy mlir::pdll::ast::detail::TypeStorageBase< ConcreteT, KeyT >::key
protected

Definition at line 127 of file Types.h.


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