Trait cpython::ToPyObject
[−]
[src]
pub trait ToPyObject { type ObjectType: PythonObject; fn to_py_object(&self, py: Python) -> Self::ObjectType; fn into_py_object(self, py: Python) -> Self::ObjectType
where
Self: Sized, { ... } fn with_borrowed_ptr<F, R>(&self, py: Python, f: F) -> R
where
F: FnOnce(*mut PyObject) -> R, { ... } }
Conversion trait that allows various objects to be converted into Python objects.
Associated Types
type ObjectType: PythonObject
Required Methods
fn to_py_object(&self, py: Python) -> Self::ObjectType
Converts self into a Python object.
Provided Methods
fn into_py_object(self, py: Python) -> Self::ObjectType where
Self: Sized,
Self: Sized,
Converts self into a Python object.
May be more efficient than to_py_object
in some cases because
it can move out of the input object.
fn with_borrowed_ptr<F, R>(&self, py: Python, f: F) -> R where
F: FnOnce(*mut PyObject) -> R,
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.
May be more efficient than to_py_object
because it does not need
to touch any reference counts when the input object already is a Python object.
Implementors
impl ToPyObject for PyObject
impl<'a, T: ?Sized> ToPyObject for &'a T where
T: ToPyObject,impl<T> ToPyObject for Option<T> where
T: ToPyObject,impl ToPyObject for PyType
impl ToPyObject for PyModule
impl ToPyObject for PyString
impl ToPyObject for PyBytes
impl ToPyObject for str
impl<'a> ToPyObject for Cow<'a, str>
impl ToPyObject for String
impl ToPyObject for PyDict
impl<K, V> ToPyObject for HashMap<K, V> where
K: Hash + Eq + ToPyObject,
V: ToPyObject,impl<K, V> ToPyObject for BTreeMap<K, V> where
K: Eq + ToPyObject,
V: ToPyObject,impl ToPyObject for PyBool
impl ToPyObject for bool
impl ToPyObject for PyTuple
impl<A: ToPyObject> ToPyObject for (A,)
impl<A: ToPyObject, B: ToPyObject> ToPyObject for (A, B)
impl<A: ToPyObject, B: ToPyObject, C: ToPyObject> ToPyObject for (A, B, C)
impl<A: ToPyObject, B: ToPyObject, C: ToPyObject, D: ToPyObject> ToPyObject for (A, B, C, D)
impl<A: ToPyObject, B: ToPyObject, C: ToPyObject, D: ToPyObject, E: ToPyObject> ToPyObject for (A, B, C, D, E)
impl<A: ToPyObject, B: ToPyObject, C: ToPyObject, D: ToPyObject, E: ToPyObject, F: ToPyObject> ToPyObject for (A, B, C, D, E, F)
impl<A: ToPyObject, B: ToPyObject, C: ToPyObject, D: ToPyObject, E: ToPyObject, F: ToPyObject, G: ToPyObject> ToPyObject for (A, B, C, D, E, F, G)
impl<A: ToPyObject, B: ToPyObject, C: ToPyObject, D: ToPyObject, E: ToPyObject, F: ToPyObject, G: ToPyObject, H: ToPyObject> ToPyObject for (A, B, C, D, E, F, G, H)
impl<A: ToPyObject, B: ToPyObject, C: ToPyObject, D: ToPyObject, E: ToPyObject, F: ToPyObject, G: ToPyObject, H: ToPyObject, I: ToPyObject> ToPyObject for (A, B, C, D, E, F, G, H, I)
impl ToPyObject for NoArgs
impl ToPyObject for PyList
impl<T> ToPyObject for [T] where
T: ToPyObject,impl<T> ToPyObject for Vec<T> where
T: ToPyObject,impl ToPyObject for PyLong
impl ToPyObject for PyFloat
impl ToPyObject for i8
impl ToPyObject for u8
impl ToPyObject for i16
impl ToPyObject for u16
impl ToPyObject for i32
impl ToPyObject for u32
impl ToPyObject for i64
impl ToPyObject for isize
impl ToPyObject for usize
impl<'p> ToPyObject for u64
impl ToPyObject for f64
impl ToPyObject for f32
impl ToPyObject for PySequence
impl ToPyObject for BaseException
impl ToPyObject for Exception
impl ToPyObject for LookupError
impl ToPyObject for AssertionError
impl ToPyObject for AttributeError
impl ToPyObject for EOFError
impl ToPyObject for EnvironmentError
impl ToPyObject for FloatingPointError
impl ToPyObject for IOError
impl ToPyObject for ImportError
impl ToPyObject for IndexError
impl ToPyObject for KeyError
impl ToPyObject for KeyboardInterrupt
impl ToPyObject for MemoryError
impl ToPyObject for NameError
impl ToPyObject for NotImplementedError
impl ToPyObject for OSError
impl ToPyObject for OverflowError
impl ToPyObject for ReferenceError
impl ToPyObject for RuntimeError
impl ToPyObject for SyntaxError
impl ToPyObject for SystemError
impl ToPyObject for SystemExit
impl ToPyObject for TypeError
impl ToPyObject for ValueError
impl ToPyObject for ZeroDivisionError
impl ToPyObject for UnicodeDecodeError
impl ToPyObject for UnicodeEncodeError
impl ToPyObject for UnicodeTranslateError