Type Alias simics_api_sys::PyTypeObject
source · pub type PyTypeObject = _typeobject;
Expand description
PyTypeObject structure is defined in cpython/object.h. In Py_LIMITED_API, PyTypeObject is an opaque structure.
Aliased Type§
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 _object)>,
pub tp_vectorcall_offset: isize,
pub tp_getattr: Option<unsafe extern "C" fn(_: *mut _object, _: *mut i8) -> *mut _object>,
pub tp_setattr: Option<unsafe extern "C" fn(_: *mut _object, _: *mut i8, _: *mut _object) -> i32>,
pub tp_as_async: *mut PyAsyncMethods,
pub tp_repr: Option<unsafe extern "C" fn(_: *mut _object) -> *mut _object>,
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 _object) -> isize>,
pub tp_call: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object, _: *mut _object) -> *mut _object>,
pub tp_str: Option<unsafe extern "C" fn(_: *mut _object) -> *mut _object>,
pub tp_getattro: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object) -> *mut _object>,
pub tp_setattro: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object, _: *mut _object) -> 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 _object, _: Option<unsafe extern "C" fn(_: *mut _object, _: *mut c_void) -> i32>, _: *mut c_void) -> i32>,
pub tp_clear: Option<unsafe extern "C" fn(_: *mut _object) -> i32>,
pub tp_richcompare: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object, _: i32) -> *mut _object>,
pub tp_weaklistoffset: isize,
pub tp_iter: Option<unsafe extern "C" fn(_: *mut _object) -> *mut _object>,
pub tp_iternext: Option<unsafe extern "C" fn(_: *mut _object) -> *mut _object>,
pub tp_methods: *mut PyMethodDef,
pub tp_members: *mut PyMemberDef,
pub tp_getset: *mut PyGetSetDef,
pub tp_base: *mut _typeobject,
pub tp_dict: *mut _object,
pub tp_descr_get: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object, _: *mut _object) -> *mut _object>,
pub tp_descr_set: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object, _: *mut _object) -> i32>,
pub tp_dictoffset: isize,
pub tp_init: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object, _: *mut _object) -> i32>,
pub tp_alloc: Option<unsafe extern "C" fn(_: *mut _typeobject, _: isize) -> *mut _object>,
pub tp_new: Option<unsafe extern "C" fn(_: *mut _typeobject, _: *mut _object, _: *mut _object) -> *mut _object>,
pub tp_free: Option<unsafe extern "C" fn(_: *mut c_void)>,
pub tp_is_gc: Option<unsafe extern "C" fn(_: *mut _object) -> i32>,
pub tp_bases: *mut _object,
pub tp_mro: *mut _object,
pub tp_cache: *mut _object,
pub tp_subclasses: *mut _object,
pub tp_weaklist: *mut _object,
pub tp_del: Option<unsafe extern "C" fn(_: *mut _object)>,
pub tp_version_tag: u32,
pub tp_finalize: Option<unsafe extern "C" fn(_: *mut _object)>,
pub tp_vectorcall: Option<unsafe extern "C" fn(_: *mut _object, _: *const *mut _object, _: usize, _: *mut _object) -> *mut _object>,
}
Fields§
§ob_base: PyVarObject
§tp_name: *const i8
For printing, in format “
tp_basicsize: isize
For allocation
tp_itemsize: isize
For allocation
tp_dealloc: Option<unsafe extern "C" fn(_: *mut _object)>
Methods to implement standard operations
tp_vectorcall_offset: isize
§tp_getattr: Option<unsafe extern "C" fn(_: *mut _object, _: *mut i8) -> *mut _object>
§tp_setattr: Option<unsafe extern "C" fn(_: *mut _object, _: *mut i8, _: *mut _object) -> i32>
§tp_as_async: *mut PyAsyncMethods
formerly known as tp_compare (Python 2) or tp_reserved (Python 3)
tp_repr: Option<unsafe extern "C" fn(_: *mut _object) -> *mut _object>
§tp_as_number: *mut PyNumberMethods
Method suites for standard classes
tp_as_sequence: *mut PySequenceMethods
§tp_as_mapping: *mut PyMappingMethods
§tp_hash: Option<unsafe extern "C" fn(_: *mut _object) -> isize>
More standard operations (here for binary compatibility)
tp_call: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object, _: *mut _object) -> *mut _object>
§tp_str: Option<unsafe extern "C" fn(_: *mut _object) -> *mut _object>
§tp_getattro: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object) -> *mut _object>
§tp_setattro: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object, _: *mut _object) -> i32>
§tp_as_buffer: *mut PyBufferProcs
Functions to access object as input/output buffer
tp_flags: u64
Flags to define presence of optional/expanded features
tp_doc: *const i8
Documentation string
tp_traverse: Option<unsafe extern "C" fn(_: *mut _object, _: Option<unsafe extern "C" fn(_: *mut _object, _: *mut c_void) -> i32>, _: *mut c_void) -> i32>
Assigned meaning in release 2.0 / / call function for all accessible objects
tp_clear: Option<unsafe extern "C" fn(_: *mut _object) -> i32>
delete references to contained objects
tp_richcompare: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object, _: i32) -> *mut _object>
Assigned meaning in release 2.1 / / rich comparisons
tp_weaklistoffset: isize
weak reference enabler
tp_iter: Option<unsafe extern "C" fn(_: *mut _object) -> *mut _object>
Iterators
tp_iternext: Option<unsafe extern "C" fn(_: *mut _object) -> *mut _object>
§tp_methods: *mut PyMethodDef
Attribute descriptor and subclassing stuff
tp_members: *mut PyMemberDef
§tp_getset: *mut PyGetSetDef
§tp_base: *mut _typeobject
Strong reference on a heap type, borrowed reference on a static type
tp_dict: *mut _object
§tp_descr_get: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object, _: *mut _object) -> *mut _object>
§tp_descr_set: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object, _: *mut _object) -> i32>
§tp_dictoffset: isize
§tp_init: Option<unsafe extern "C" fn(_: *mut _object, _: *mut _object, _: *mut _object) -> i32>
§tp_alloc: Option<unsafe extern "C" fn(_: *mut _typeobject, _: isize) -> *mut _object>
§tp_new: Option<unsafe extern "C" fn(_: *mut _typeobject, _: *mut _object, _: *mut _object) -> *mut _object>
§tp_free: Option<unsafe extern "C" fn(_: *mut c_void)>
Low-level free-memory routine
tp_is_gc: Option<unsafe extern "C" fn(_: *mut _object) -> i32>
For PyObject_IS_GC
tp_bases: *mut _object
§tp_mro: *mut _object
method resolution order
tp_cache: *mut _object
§tp_subclasses: *mut _object
§tp_weaklist: *mut _object
§tp_del: Option<unsafe extern "C" fn(_: *mut _object)>
§tp_version_tag: u32
Type attribute cache version tag. Added in version 2.6
tp_finalize: Option<unsafe extern "C" fn(_: *mut _object)>
§tp_vectorcall: Option<unsafe extern "C" fn(_: *mut _object, _: *const *mut _object, _: usize, _: *mut _object) -> *mut _object>