Struct pyo3::ffi::PyTypeObject
source · pub struct PyTypeObject {Show 49 fields
pub ob_base: PyVarObject,
pub tp_name: *const i8,
pub tp_basicsize: isize,
pub tp_itemsize: isize,
pub tp_dealloc: Option<unsafe extern "C" fn(_: *mut PyObject)>,
pub tp_vectorcall_offset: isize,
pub tp_getattr: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut i8) -> *mut PyObject>,
pub tp_setattr: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut i8, _: *mut PyObject) -> i32>,
pub tp_as_async: *mut PyAsyncMethods,
pub tp_repr: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>,
pub tp_as_number: *mut PyNumberMethods,
pub tp_as_sequence: *mut PySequenceMethods,
pub tp_as_mapping: *mut PyMappingMethods,
pub tp_hash: Option<unsafe extern "C" fn(_: *mut PyObject) -> isize>,
pub tp_call: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
pub tp_str: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>,
pub tp_getattro: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
pub tp_setattro: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> i32>,
pub tp_as_buffer: *mut PyBufferProcs,
pub tp_flags: u64,
pub tp_doc: *const i8,
pub tp_traverse: Option<unsafe extern "C" fn(_: *mut PyObject, _: unsafe extern "C" fn(_: *mut PyObject, _: *mut c_void) -> i32, _: *mut c_void) -> i32>,
pub tp_clear: Option<unsafe extern "C" fn(_: *mut PyObject) -> i32>,
pub tp_richcompare: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: i32) -> *mut PyObject>,
pub tp_weaklistoffset: isize,
pub tp_iter: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>,
pub tp_iternext: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>,
pub tp_methods: *mut PyMethodDef,
pub tp_members: *mut PyMemberDef,
pub tp_getset: *mut PyGetSetDef,
pub tp_base: *mut PyTypeObject,
pub tp_dict: *mut PyObject,
pub tp_descr_get: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
pub tp_descr_set: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> i32>,
pub tp_dictoffset: isize,
pub tp_init: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> i32>,
pub tp_alloc: Option<unsafe extern "C" fn(_: *mut PyTypeObject, _: isize) -> *mut PyObject>,
pub tp_new: Option<unsafe extern "C" fn(_: *mut PyTypeObject, _: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
pub tp_free: Option<unsafe extern "C" fn(_: *mut c_void)>,
pub tp_is_gc: Option<unsafe extern "C" fn(_: *mut PyObject) -> i32>,
pub tp_bases: *mut PyObject,
pub tp_mro: *mut PyObject,
pub tp_cache: *mut PyObject,
pub tp_subclasses: *mut PyObject,
pub tp_weaklist: *mut PyObject,
pub tp_del: Option<unsafe extern "C" fn(_: *mut PyObject)>,
pub tp_version_tag: u32,
pub tp_finalize: Option<unsafe extern "C" fn(_: *mut PyObject)>,
pub tp_vectorcall: Option<unsafe extern "C" fn(_: *mut PyObject, _: *const *mut PyObject, _: usize, _: *mut PyObject) -> *mut PyObject>,
}
Fields§
§ob_base: PyVarObject
Available on not (
§PyPy
and non-Py_3_9
).tp_name: *const i8
§tp_basicsize: isize
§tp_itemsize: isize
§tp_dealloc: Option<unsafe extern "C" fn(_: *mut PyObject)>
§tp_vectorcall_offset: isize
Available on
§Py_3_8
only.tp_getattr: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut i8) -> *mut PyObject>
§tp_setattr: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut i8, _: *mut PyObject) -> i32>
§tp_as_async: *mut PyAsyncMethods
§tp_repr: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>
§tp_as_number: *mut PyNumberMethods
§tp_as_sequence: *mut PySequenceMethods
§tp_as_mapping: *mut PyMappingMethods
§tp_hash: Option<unsafe extern "C" fn(_: *mut PyObject) -> isize>
§tp_call: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> *mut PyObject>
§tp_str: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>
§tp_getattro: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>
§tp_setattro: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> i32>
§tp_as_buffer: *mut PyBufferProcs
§tp_flags: u64
§tp_doc: *const i8
§tp_traverse: Option<unsafe extern "C" fn(_: *mut PyObject, _: unsafe extern "C" fn(_: *mut PyObject, _: *mut c_void) -> i32, _: *mut c_void) -> i32>
§tp_clear: Option<unsafe extern "C" fn(_: *mut PyObject) -> i32>
§tp_richcompare: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: i32) -> *mut PyObject>
§tp_weaklistoffset: isize
§tp_iter: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>
§tp_iternext: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>
§tp_methods: *mut PyMethodDef
§tp_members: *mut PyMemberDef
§tp_getset: *mut PyGetSetDef
§tp_base: *mut PyTypeObject
§tp_dict: *mut PyObject
§tp_descr_get: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> *mut PyObject>
§tp_descr_set: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> i32>
§tp_dictoffset: isize
§tp_init: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> i32>
§tp_alloc: Option<unsafe extern "C" fn(_: *mut PyTypeObject, _: isize) -> *mut PyObject>
§tp_new: Option<unsafe extern "C" fn(_: *mut PyTypeObject, _: *mut PyObject, _: *mut PyObject) -> *mut PyObject>
§tp_free: Option<unsafe extern "C" fn(_: *mut c_void)>
§tp_is_gc: Option<unsafe extern "C" fn(_: *mut PyObject) -> i32>
§tp_bases: *mut PyObject
§tp_mro: *mut PyObject
§tp_cache: *mut PyObject
§tp_subclasses: *mut PyObject
§tp_weaklist: *mut PyObject
§tp_del: Option<unsafe extern "C" fn(_: *mut PyObject)>
§tp_version_tag: u32
§tp_finalize: Option<unsafe extern "C" fn(_: *mut PyObject)>
§tp_vectorcall: Option<unsafe extern "C" fn(_: *mut PyObject, _: *const *mut PyObject, _: usize, _: *mut PyObject) -> *mut PyObject>
Available on
Py_3_8
only.Trait Implementations§
source§impl Clone for PyTypeObject
impl Clone for PyTypeObject
source§fn clone(&self) -> PyTypeObject
fn clone(&self) -> PyTypeObject
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more