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

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

Loading content...

Required methods

fn size() -> usize

Gets the size of the object, in bytes.

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

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)

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...