MLIR 23.0.0git
nanobind::detail::type_caster< MlirLocation > Struct Reference

Casts object <-> MlirLocation. More...

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

Public Member Functions

 NB_TYPE_CASTER (MlirLocation, const_name(MAKE_MLIR_PYTHON_QUALNAME("ir.Location"))) bool from_python(handle src

Static Public Member Functions

static handle from_cpp (MlirLocation v, rv_policy, cleanup_list *cleanup) noexcept

Public Attributes

uint8_t flags
uint8_t cleanup_list *cleanup noexcept

Detailed Description

Casts object <-> MlirLocation.

Definition at line 228 of file NanobindAdaptors.h.

Member Function Documentation

◆ from_cpp()

handle nanobind::detail::type_caster< MlirLocation >::from_cpp ( MlirLocation v,
rv_policy ,
cleanup_list * cleanup )
inlinestaticnoexcept

◆ NB_TYPE_CASTER()

nanobind::detail::type_caster< MlirLocation >::NB_TYPE_CASTER ( MlirLocation ,
const_name(MAKE_MLIR_PYTHON_QUALNAME("ir.Location"))  )

Member Data Documentation

◆ flags

uint8_t nanobind::detail::type_caster< MlirLocation >::flags

Definition at line 231 of file NanobindAdaptors.h.

◆ noexcept

uint8_t cleanup_list* cleanup nanobind::detail::type_caster< MlirLocation >::noexcept
Initial value:
{
if (src.is_none()) {
src = mlir::python::irModule().attr("Location").attr("current");
}
if (auto capsule = mlirApiObjectToCapsule(src)) {
value = mlirPythonCapsuleToLocation(capsule->ptr());
return !mlirLocationIsNull(value);
}
return false
static MlirLocation mlirPythonCapsuleToLocation(PyObject *capsule)
Extracts an MlirLocation from a capsule as produced from mlirPythonLocationToCapsule.
Definition Interop.h:264
static bool mlirLocationIsNull(MlirLocation location)
Checks if the location is null.
Definition IR.h:370
static std::optional< nanobind::object > mlirApiObjectToCapsule(nanobind::handle apiObject)
Helper to convert a presumed MLIR API object to a capsule, accepting either an explicit Capsule (whic...

Definition at line 231 of file NanobindAdaptors.h.


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