MLIR  20.0.0git
Public Types | Public Member Functions | List of all members
mlir::python::nanobind_adaptors::mlir_attribute_subclass Class Reference

Creates a custom subclass of mlir.ir.Attribute, implementing a casting constructor and type checking methods. More...

#include "mlir/Bindings/Python/NanobindAdaptors.h"

+ Inheritance diagram for mlir::python::nanobind_adaptors::mlir_attribute_subclass:

Public Types

using IsAFunctionTy = bool(*)(MlirAttribute)
 
using GetTypeIDFunctionTy = MlirTypeID(*)()
 

Public Member Functions

 mlir_attribute_subclass (nanobind::handle scope, const char *attrClassName, IsAFunctionTy isaFunction, GetTypeIDFunctionTy getTypeIDFunction=nullptr)
 Subclasses by looking up the super-class dynamically. More...
 
 mlir_attribute_subclass (nanobind::handle scope, const char *typeClassName, IsAFunctionTy isaFunction, const nanobind::object &superCls, GetTypeIDFunctionTy getTypeIDFunction=nullptr)
 Subclasses with a provided mlir.ir.Attribute super-class. More...
 
- Public Member Functions inherited from mlir::python::nanobind_adaptors::pure_subclass
 pure_subclass (nanobind::handle scope, const char *derivedClassName, const nanobind::object &superClass)
 
template<typename Func , typename... Extra>
pure_subclassdef (const char *name, Func &&f, const Extra &...extra)
 
template<typename Func , typename... Extra>
pure_subclassdef_property_readonly (const char *name, Func &&f, const Extra &...extra)
 
template<typename Func , typename... Extra>
pure_subclassdef_staticmethod (const char *name, Func &&f, const Extra &...extra)
 
template<typename Func , typename... Extra>
pure_subclassdef_classmethod (const char *name, Func &&f, const Extra &...extra)
 
nanobind::object get_class () const
 

Additional Inherited Members

- Protected Attributes inherited from mlir::python::nanobind_adaptors::pure_subclass
nanobind::object superClass
 
nanobind::object thisClass
 

Detailed Description

Creates a custom subclass of mlir.ir.Attribute, implementing a casting constructor and type checking methods.

Definition at line 413 of file NanobindAdaptors.h.

Member Typedef Documentation

◆ GetTypeIDFunctionTy

Definition at line 416 of file NanobindAdaptors.h.

◆ IsAFunctionTy

Definition at line 415 of file NanobindAdaptors.h.

Constructor & Destructor Documentation

◆ mlir_attribute_subclass() [1/2]

mlir::python::nanobind_adaptors::mlir_attribute_subclass::mlir_attribute_subclass ( nanobind::handle  scope,
const char *  attrClassName,
IsAFunctionTy  isaFunction,
GetTypeIDFunctionTy  getTypeIDFunction = nullptr 
)
inline

Subclasses by looking up the super-class dynamically.

Definition at line 419 of file NanobindAdaptors.h.

◆ mlir_attribute_subclass() [2/2]

mlir::python::nanobind_adaptors::mlir_attribute_subclass::mlir_attribute_subclass ( nanobind::handle  scope,
const char *  typeClassName,
IsAFunctionTy  isaFunction,
const nanobind::object &  superCls,
GetTypeIDFunctionTy  getTypeIDFunction = nullptr 
)
inline

Subclasses with a provided mlir.ir.Attribute super-class.

This must be used if the subclass is being defined in the same extension module as the mlir.ir class (otherwise, it will trigger a recursive initialization).

Definition at line 432 of file NanobindAdaptors.h.

References mlir::python::nanobind_adaptors::pure_subclass::def(), mlir::python::nanobind_adaptors::pure_subclass::def_staticmethod(), MAKE_MLIR_PYTHON_QUALNAME, MLIR_PYTHON_CAPI_TYPE_CASTER_REGISTER_ATTR, and mlir::python::nanobind_adaptors::pure_subclass::thisClass.


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