MLIR 22.0.0git
mlir::SideEffects::Resource::Base< DerivedResource, BaseResource > Class Template Reference

This base class is used for derived effects that are non-parametric. More...

#include "mlir/Interfaces/SideEffectInterfaces.h"

Inheritance diagram for mlir::SideEffects::Resource::Base< DerivedResource, BaseResource >:

Public Types

using BaseT = Base<DerivedResource>

Static Public Member Functions

static DerivedResource * get ()
 Returns a unique instance for the given effect class.
static TypeID getResourceID ()
 Return the unique identifier for the base resource class.
static bool classof (const Resource *resource)
 'classof' used to support llvm style cast functionality.

Protected Member Functions

 Base ()
Protected Member Functions inherited from mlir::SideEffects::Resource
 Resource (TypeID id)

Additional Inherited Members

Public Member Functions inherited from mlir::SideEffects::Resource
virtual ~Resource ()=default
TypeID getResourceID () const
 Return the unique identifier for the base resource class.
virtual StringRef getName ()=0
 Return a string name of the resource.

Detailed Description

template<typename DerivedResource, typename BaseResource = Resource>
class mlir::SideEffects::Resource::Base< DerivedResource, BaseResource >

This base class is used for derived effects that are non-parametric.

Definition at line 85 of file SideEffectInterfaces.h.

Member Typedef Documentation

◆ BaseT

template<typename DerivedResource, typename BaseResource = Resource>
using mlir::SideEffects::Resource::Base< DerivedResource, BaseResource >::BaseT = Base<DerivedResource>

Definition at line 87 of file SideEffectInterfaces.h.

Constructor & Destructor Documentation

◆ Base()

template<typename DerivedResource, typename BaseResource = Resource>
mlir::SideEffects::Resource::Base< DerivedResource, BaseResource >::Base ( )
inlineprotected

Definition at line 104 of file SideEffectInterfaces.h.

References getResourceID().

Member Function Documentation

◆ classof()

template<typename DerivedResource, typename BaseResource = Resource>
bool mlir::SideEffects::Resource::Base< DerivedResource, BaseResource >::classof ( const Resource * resource)
inlinestatic

'classof' used to support llvm style cast functionality.

Definition at line 99 of file SideEffectInterfaces.h.

References getResourceID(), mlir::SideEffects::Resource::getResourceID(), and mlir::SideEffects::Resource::Resource().

◆ get()

template<typename DerivedResource, typename BaseResource = Resource>
DerivedResource * mlir::SideEffects::Resource::Base< DerivedResource, BaseResource >::get ( )
inlinestatic

Returns a unique instance for the given effect class.

Definition at line 90 of file SideEffectInterfaces.h.

◆ getResourceID()

template<typename DerivedResource, typename BaseResource = Resource>
TypeID mlir::SideEffects::Resource::Base< DerivedResource, BaseResource >::getResourceID ( )
inlinestatic

Return the unique identifier for the base resource class.

Definition at line 96 of file SideEffectInterfaces.h.

References mlir::TypeID::get().

Referenced by Base(), and classof().


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