MLIR  20.0.0git
Public Types | Public Member Functions | List of all members
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 = detail::DialectInterfaceCollectionBase::iterator< InterfaceType >
 Iterator access to the held interfaces. More...
 

Public Member Functions

 DialectInterfaceCollection (MLIRContext *ctx)
 Collect the registered dialect interfaces within the provided context. More...
 
template<typename Object >
const InterfaceType * getInterfaceFor (Object *obj) const
 Get the interface for a given object, or null if one is not registered. More...
 
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. More...
 
const DialectInterfacegetInterfaceFor (Dialect *dialect) const
 Get the interface for the given dialect. More...
 
template<typename InterfaceT >
iterator< InterfaceT > interface_begin () const
 Iterator access to the held interfaces. More...
 
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 = detail::DialectInterfaceCollectionBase::iterator<InterfaceType>

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.

Member Function Documentation

◆ begin()

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

Definition at line 178 of file DialectInterface.h.

◆ end()

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

Definition at line 179 of file DialectInterface.h.

◆ 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: