[−][src]Struct pyo3::types::PyAny
Represents a python's Any type.
We can convert all python objects as PyAny
.
In addition, if the inner object is an instance of type T
, we can downcast
PyAny
into T
.
Example
use pyo3::prelude::*; use pyo3::types::{PyAny, PyDict, PyList}; let gil = Python::acquire_gil(); let dict = PyDict::new(gil.python()); assert!(gil.python().is_instance::<PyAny, _>(dict).unwrap()); let any = dict.as_ref(); assert!(any.downcast_ref::<PyDict>().is_ok()); assert!(any.downcast_ref::<PyList>().is_err());
Methods
impl PyAny
[src]
pub fn downcast_ref<T>(&self) -> Result<&T, PyDowncastError> where
T: for<'gil> PyTryFrom<'gil>,
[src]
T: for<'gil> PyTryFrom<'gil>,
pub fn downcast_mut<T>(&self) -> Result<&mut T, PyDowncastError> where
T: for<'gil> PyTryFrom<'gil>,
[src]
T: for<'gil> PyTryFrom<'gil>,
Trait Implementations
impl AsPyPointer for PyAny
[src]
impl ToPyObject for PyAny
[src]
impl<U> PyTryInto<U> for PyAny where
U: for<'v> PyTryFrom<'v>,
[src]
U: for<'v> PyTryFrom<'v>,
fn try_into(&self) -> Result<&U, PyDowncastError>
[src]
fn try_into_exact(&self) -> Result<&U, PyDowncastError>
[src]
fn try_into_mut(&self) -> Result<&mut U, PyDowncastError>
[src]
fn try_into_mut_exact(&self) -> Result<&mut U, PyDowncastError>
[src]
impl PyNativeType for PyAny
[src]
impl AsPyRef<PyAny> for PyObject
[src]
fn as_ref(&self, _py: Python) -> PyRef<PyAny>
[src]
fn as_mut(&mut self, _py: Python) -> PyRefMut<PyAny>
[src]
fn with<F, R>(&self, f: F) -> R where
F: FnOnce(Python, PyRef<T>) -> R,
[src]
F: FnOnce(Python, PyRef<T>) -> R,
Acquire python gil and call closure with object reference.
fn with_mut<F, R>(&mut self, f: F) -> R where
F: FnOnce(Python, PyRefMut<T>) -> R,
[src]
F: FnOnce(Python, PyRefMut<T>) -> R,
Acquire python gil and call closure with mutable object reference.
fn into_py<F, R>(self, f: F) -> R where
Self: IntoPyPointer,
F: FnOnce(Python, PyRef<T>) -> R,
[src]
Self: IntoPyPointer,
F: FnOnce(Python, PyRef<T>) -> R,
fn into_mut_py<F, R>(self, f: F) -> R where
Self: IntoPyPointer,
F: FnOnce(Python, PyRefMut<T>) -> R,
[src]
Self: IntoPyPointer,
F: FnOnce(Python, PyRefMut<T>) -> R,
impl PyTypeInfo for PyAny
[src]
type Type = ()
Type of objects to store in PyObject struct
type BaseType = PyAny
Base class
const NAME: &'static str
[src]
const SIZE: usize
[src]
const OFFSET: isize
[src]
unsafe fn type_object() -> &'static mut PyTypeObject
[src]
fn is_instance(ptr: &PyAny) -> bool
[src]
const DESCRIPTION: &'static str
[src]
Class doc string
const FLAGS: usize
[src]
Type flags (ie PY_TYPE_FLAG_GC, PY_TYPE_FLAG_WEAKREF)
fn is_exact_instance(object: &PyAny) -> bool
[src]
Check if *mut ffi::PyObject
is exact instance of this type
impl PyObjectAlloc for PyAny
[src]
unsafe fn alloc(_py: Python) -> *mut PyObject
[src]
unsafe fn dealloc(py: Python, obj: *mut PyObject)
[src]
Calls the rust destructor for the object and frees the memory (usually by calling ptr->ob_type->tp_free). This function is used as tp_dealloc implementation. Read more
unsafe fn drop(py: Python, obj: *mut PyObject)
[src]
Calls the rust destructor for the object.
impl PyTypeObject for PyAny
[src]
fn init_type() -> NonNull<PyTypeObject>
[src]
fn type_object() -> Py<PyType>
[src]
Returns the safe abstraction over the type object from PyTypeObject::init_type
impl<'a, T> From<PyRef<'a, T>> for &'a PyAny where
T: PyTypeInfo,
[src]
T: PyTypeInfo,
impl<'a, T> From<PyRefMut<'a, T>> for &'a PyAny where
T: PyTypeInfo,
[src]
T: PyTypeInfo,
impl<'a> From<&'a PyBool> for &'a PyAny
[src]
impl<'a> From<&'a PyByteArray> for &'a PyAny
[src]
fn from(ob: &'a PyByteArray) -> Self
[src]
impl<'a> From<&'a PyComplex> for &'a PyAny
[src]
impl<'a> From<&'a PyDate> for &'a PyAny
[src]
impl<'a> From<&'a PyDateTime> for &'a PyAny
[src]
fn from(ob: &'a PyDateTime) -> Self
[src]
impl<'a> From<&'a PyTime> for &'a PyAny
[src]
impl<'a> From<&'a PyTzInfo> for &'a PyAny
[src]
impl<'a> From<&'a PyDelta> for &'a PyAny
[src]
impl<'a> From<&'a PyDict> for &'a PyAny
[src]
impl<'a> From<&'a PyFloat> for &'a PyAny
[src]
impl<'a> From<&'a PyList> for &'a PyAny
[src]
impl<'a> From<&'a PyModule> for &'a PyAny
[src]
impl<'a> From<&'a PyLong> for &'a PyAny
[src]
impl<'a> From<&'a PySet> for &'a PyAny
[src]
impl<'a> From<&'a PyFrozenSet> for &'a PyAny
[src]
fn from(ob: &'a PyFrozenSet) -> Self
[src]
impl<'a> From<&'a PySlice> for &'a PyAny
[src]
impl<'a> From<&'a PyString> for &'a PyAny
[src]
impl<'a> From<&'a PyBytes> for &'a PyAny
[src]
impl<'a> From<&'a PyTuple> for &'a PyAny
[src]
impl<'a> From<&'a PyType> for &'a PyAny
[src]
impl PartialEq<PyAny> for PyAny
[src]
fn eq(&self, o: &PyAny) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl AsRef<PyAny> for PyAny
[src]
impl AsRef<PyAny> for PyBool
[src]
impl AsRef<PyAny> for PyByteArray
[src]
impl AsRef<PyAny> for PyComplex
[src]
impl AsRef<PyAny> for PyDate
[src]
impl AsRef<PyAny> for PyDateTime
[src]
impl AsRef<PyAny> for PyTime
[src]
impl AsRef<PyAny> for PyTzInfo
[src]
impl AsRef<PyAny> for PyDelta
[src]
impl AsRef<PyAny> for PyDict
[src]
impl AsRef<PyAny> for PyFloat
[src]
impl AsRef<PyAny> for PyList
[src]
impl AsRef<PyAny> for PyModule
[src]
impl AsRef<PyAny> for PyLong
[src]
impl AsRef<PyAny> for PySequence
[src]
impl AsRef<PyAny> for PySet
[src]
impl AsRef<PyAny> for PyFrozenSet
[src]
impl AsRef<PyAny> for PySlice
[src]
impl AsRef<PyAny> for PyString
[src]
impl AsRef<PyAny> for PyBytes
[src]
impl AsRef<PyAny> for PyTuple
[src]
impl AsRef<PyAny> for PyType
[src]
impl Display for PyAny
[src]
impl Debug for PyAny
[src]
Auto Trait Implementations
impl Unpin for PyAny
impl Sync for PyAny
impl Send for PyAny
impl RefUnwindSafe for PyAny
impl UnwindSafe for PyAny
Blanket Implementations
impl<T> PyObjectAlloc for T where
T: PyObjectWithFreeList,
[src]
T: PyObjectWithFreeList,
unsafe fn alloc(Python) -> *mut PyObject
[src]
unsafe fn dealloc(Python, *mut PyObject)
[src]
unsafe fn drop(py: Python, obj: *mut PyObject)
[src]
Calls the rust destructor for the object.
impl<T> PyTypeObject for T where
T: PyTypeInfo + PyMethodsProtocol + PyObjectAlloc,
[src]
T: PyTypeInfo + PyMethodsProtocol + PyObjectAlloc,
fn init_type() -> NonNull<PyTypeObject>
[src]
fn type_object() -> Py<PyType>
[src]
Returns the safe abstraction over the type object from PyTypeObject::init_type
impl<T> PyTypeCreate for T where
T: PyObjectAlloc + PyTypeObject,
[src]
T: PyObjectAlloc + PyTypeObject,
#[must_use]
fn create(py: Python) -> PyResult<PyRawObject>
[src]
Create PyRawObject which can be initialized with rust value
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,