Struct cpython::PyType

source ·
pub struct PyType(/* private fields */);
Expand description

Represents a reference to a Python type object.

Implementations§

source§

impl PyType

source

pub fn as_type_ptr(&self) -> *mut PyTypeObject

Retrieves the underlying FFI pointer associated with this Python object.

source

pub unsafe fn from_type_ptr(py: Python<'_>, p: *mut PyTypeObject) -> PyType

Retrieves the PyType instance for the given FFI pointer. This increments the reference count on the type object. Undefined behavior if the pointer is NULL or invalid.

source

pub fn name<'a>(&'a self, _py: Python<'a>) -> Cow<'a, str>

Gets the name of the PyType.

source

pub fn is_subtype_of(&self, _: Python<'_>, b: &PyType) -> bool

Return true if self is a subtype of b.

source

pub fn is_instance(&self, _: Python<'_>, obj: &PyObject) -> bool

Return true if obj is an instance of self.

source

pub fn call<A>( &self, py: Python<'_>, args: A, kwargs: Option<&PyDict>, ) -> PyResult<PyObject>
where A: ToPyObject<ObjectType = PyTuple>,

Calls the type object, thus creating a new instance. This is equivalent to the Python expression: self(*args, **kwargs)

Trait Implementations§

source§

impl<'s> FromPyObject<'s> for &'s PyType

source§

fn extract(py: Python<'_>, obj: &'s PyObject) -> PyResult<&'s PyType>

Extracts Self from the source PyObject.
source§

impl<'s> FromPyObject<'s> for PyType

source§

fn extract(py: Python<'_>, obj: &'s PyObject) -> PyResult<PyType>

Extracts Self from the source PyObject.
source§

impl PartialEq for PyType

source§

fn eq(&self, o: &PyType) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PythonObject for PyType

source§

unsafe fn unchecked_downcast_from(obj: PyObject) -> Self

Unchecked downcast from PyObject to Self. Undefined behavior if the input object does not have the expected type.

source§

unsafe fn unchecked_downcast_borrow_from<'a>(obj: &'a PyObject) -> &'a Self

Unchecked downcast from PyObject to Self. Undefined behavior if the input object does not have the expected type.

source§

fn as_object(&self) -> &PyObject

Casts the Python object to PyObject.
source§

fn into_object(self) -> PyObject

Casts the Python object to PyObject.
source§

impl PythonObjectWithCheckedDowncast for PyType

source§

fn downcast_from<'p>( py: Python<'p>, obj: PyObject, ) -> Result<PyType, PythonObjectDowncastError<'p>>

Cast from PyObject to a concrete Python object type.
source§

fn downcast_borrow_from<'a, 'p>( py: Python<'p>, obj: &'a PyObject, ) -> Result<&'a PyType, PythonObjectDowncastError<'p>>

Cast from PyObject to a concrete Python object type.
source§

impl PythonObjectWithTypeObject for PyType

source§

fn type_object(py: Python<'_>) -> PyType

Retrieves the type object for this Python object type.
source§

impl ToPyObject for PyType

Identity conversion: allows using existing PyObject instances where T: ToPyObject is expected.

§

type ObjectType = PyType

source§

fn to_py_object(&self, py: Python<'_>) -> PyType

Converts self into a Python object.
source§

fn into_py_object(self, _py: Python<'_>) -> PyType

Converts self into a Python object. Read more
source§

fn with_borrowed_ptr<F, R>(&self, _py: Python<'_>, f: F) -> R
where F: FnOnce(*mut PyObject) -> R,

Converts self into a Python object and calls the specified closure on the native FFI pointer underlying the Python object. Read more
source§

impl Eq for PyType

Auto Trait Implementations§

§

impl Freeze for PyType

§

impl RefUnwindSafe for PyType

§

impl Send for PyType

§

impl Sync for PyType

§

impl Unpin for PyType

§

impl UnwindSafe for PyType

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> PyClone for T
where T: PythonObject,

source§

fn clone_ref(&self, py: Python<'_>) -> T

source§

impl<T> PyDrop for T
where T: PythonObject,

source§

fn release_ref(self, _py: Python<'_>)

source§

impl<T> RefFromPyObject for T
where &'a T: for<'a> FromPyObject<'a>, T: ?Sized,

source§

fn with_extracted<F, R>( py: Python<'_>, obj: &PyObject, f: F, ) -> Result<R, PyErr>
where F: FnOnce(&T) -> R,

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.