Trait cpython::py_class::BaseObject[][src]

pub trait BaseObject: PythonObject {
    type InitType;
    fn size() -> usize;
unsafe fn alloc(
        py: Python<'_>,
        ty: &PyType,
        init_val: Self::InitType
    ) -> PyResult<PyObject>;
unsafe fn dealloc(py: Python<'_>, obj: *mut PyObject); }

A PythonObject that is usable as a base type with the py_class!() macro.

Associated Types

type InitType[src]

Loading content...

Required methods

fn size() -> usize[src]

Gets the size of the object, in bytes.

unsafe fn alloc(
    py: Python<'_>,
    ty: &PyType,
    init_val: Self::InitType
) -> PyResult<PyObject>
[src]

Allocates a new object (usually by calling ty->tp_alloc), and initializes it using init_val. ty must be derived from the Self type, and the resulting object must be of type ty.

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.

Loading content...

Implementors

impl BaseObject for PyObject[src]

type InitType = ()

Loading content...