MLIR  20.0.0git
Public Types | Static Public Member Functions | List of all members
mlir::AttrTypeSubElementHandler< T, Enable > Struct Template Reference

This class provides support for interacting with the SubElementInterfaces for different types of parameters. More...

#include "mlir/IR/AttrTypeSubElements.h"

Public Types

using DefaultHandlerTag = void
 Tag indicating that this handler does not support sub-elements. More...
 

Static Public Member Functions

static void walk (const T &param, AttrTypeImmediateSubElementWalker &walker)
 Default walk implementation that does nothing. More...
 
template<typename ParamT >
static decltype(auto) replace (ParamT &&param, AttrSubElementReplacements &attrRepls, TypeSubElementReplacements &typeRepls)
 Default replace implementation just forwards the parameter. More...
 

Detailed Description

template<typename T, typename Enable = void>
struct mlir::AttrTypeSubElementHandler< T, Enable >

This class provides support for interacting with the SubElementInterfaces for different types of parameters.

An implementation of this class should be provided for any parameter class that may contain an attribute or type. There are two main methods of this class that need to be implemented:

Definition at line 394 of file AttrTypeSubElements.h.

Member Typedef Documentation

◆ DefaultHandlerTag

template<typename T , typename Enable = void>
using mlir::AttrTypeSubElementHandler< T, Enable >::DefaultHandlerTag = void

Tag indicating that this handler does not support sub-elements.

Definition at line 408 of file AttrTypeSubElements.h.

Member Function Documentation

◆ replace()

template<typename T , typename Enable = void>
template<typename ParamT >
static decltype(auto) mlir::AttrTypeSubElementHandler< T, Enable >::replace ( ParamT &&  param,
AttrSubElementReplacements attrRepls,
TypeSubElementReplacements typeRepls 
)
inlinestatic

Default replace implementation just forwards the parameter.

Definition at line 401 of file AttrTypeSubElements.h.

Referenced by mlir::AttrTypeSubElementHandler< std::tuple< Ts... >, std::enable_if_t< has_sub_attr_or_type_v< Ts... > > >::replace().

◆ walk()

template<typename T , typename Enable = void>
static void mlir::AttrTypeSubElementHandler< T, Enable >::walk ( const T &  param,
AttrTypeImmediateSubElementWalker walker 
)
inlinestatic

Default walk implementation that does nothing.

Definition at line 396 of file AttrTypeSubElements.h.

Referenced by mlir::AttrTypeSubElementHandler< std::tuple< Ts... >, std::enable_if_t< has_sub_attr_or_type_v< Ts... > > >::walk().


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