MLIR 22.0.0git
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.
 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.
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 504 of file NanobindAdaptors.h.

Member Typedef Documentation

◆ GetTypeIDFunctionTy

◆ IsAFunctionTy

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 510 of file NanobindAdaptors.h.

References mlir_attribute_subclass().

Referenced by mlir_attribute_subclass().

◆ 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 521 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, mlir::python::nanobind_adaptors::pure_subclass::pure_subclass(), and mlir::python::nanobind_adaptors::pure_subclass::thisClass.


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