MLIR 22.0.0git
mlir::DialectInterfaceCollection< InterfaceType > Class Template Reference

A collection of dialect interfaces within a context, for a given concrete interface type. More...

#include "mlir/IR/DialectInterface.h"

Inheritance diagram for mlir::DialectInterfaceCollection< InterfaceType >:

Public Types

using Base = DialectInterfaceCollection<InterfaceType>
using iterator
 Iterator access to the held interfaces.

Public Member Functions

 DialectInterfaceCollection (MLIRContext *ctx)
 Collect the registered dialect interfaces within the provided context.
template<typename Object>
const InterfaceType * getInterfaceFor (Object *obj) const
 Get the interface for a given object, or null if one is not registered.
iterator begin () const
iterator end () const
Public Member Functions inherited from mlir::detail::DialectInterfaceCollectionBase
 DialectInterfaceCollectionBase (MLIRContext *ctx, TypeID interfaceKind, StringRef interfaceName)
virtual ~DialectInterfaceCollectionBase ()

Additional Inherited Members

Protected Member Functions inherited from mlir::detail::DialectInterfaceCollectionBase
const DialectInterfacegetInterfaceFor (Operation *op) const
 Get the interface for the dialect of given operation, or null if one is not registered.
const DialectInterfacegetInterfaceFor (Dialect *dialect) const
 Get the interface for the given dialect.
template<typename InterfaceT>
iterator< InterfaceT > interface_begin () const
 Iterator access to the held interfaces.
template<typename InterfaceT>
iterator< InterfaceT > interface_end () const

Detailed Description

template<typename InterfaceType>
class mlir::DialectInterfaceCollection< InterfaceType >

A collection of dialect interfaces within a context, for a given concrete interface type.

Definition at line 156 of file DialectInterface.h.

Member Typedef Documentation

◆ Base

template<typename InterfaceType>
using mlir::DialectInterfaceCollection< InterfaceType >::Base = DialectInterfaceCollection<InterfaceType>

Definition at line 159 of file DialectInterface.h.

◆ iterator

template<typename InterfaceType>
using mlir::DialectInterfaceCollection< InterfaceType >::iterator
Initial value:
An iterator class that iterates the held interface objects of the given derived interface type.

Iterator access to the held interfaces.

Definition at line 176 of file DialectInterface.h.

Constructor & Destructor Documentation

◆ DialectInterfaceCollection()

template<typename InterfaceType>
mlir::DialectInterfaceCollection< InterfaceType >::DialectInterfaceCollection ( MLIRContext * ctx)
inline

Collect the registered dialect interfaces within the provided context.

Definition at line 162 of file DialectInterface.h.

References mlir::detail::DialectInterfaceCollectionBase::DialectInterfaceCollectionBase().

Member Function Documentation

◆ begin()

template<typename InterfaceType>
iterator mlir::DialectInterfaceCollection< InterfaceType >::begin ( ) const
inline

◆ end()

template<typename InterfaceType>
iterator mlir::DialectInterfaceCollection< InterfaceType >::end ( ) const
inline

◆ getInterfaceFor()

template<typename InterfaceType>
template<typename Object>
const InterfaceType * mlir::DialectInterfaceCollection< InterfaceType >::getInterfaceFor ( Object * obj) const
inline

Get the interface for a given object, or null if one is not registered.

The object may be a dialect or an operation instance.

Definition at line 170 of file DialectInterface.h.

References mlir::detail::DialectInterfaceCollectionBase::getInterfaceFor().

Referenced by mlir::inlineCall().


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