Skip to main content

pyforge_ffi/cpython/
dictobject.rs

1use crate::object::*;
2use crate::pyport::Py_ssize_t;
3
4opaque_struct!(pub PyDictKeysObject);
5
6opaque_struct!(pub PyDictValues);
7
8#[repr(C)]
9#[derive(Debug)]
10pub struct PyDictObject {
11    pub ob_base: PyObject,
12    pub ma_used: Py_ssize_t,
13    #[cfg_attr(
14        Py_3_12,
15        deprecated(note = "Deprecated in Python 3.12 and will be removed in the future.")
16    )]
17    #[cfg(not(Py_3_14))]
18    pub ma_version_tag: u64,
19    #[cfg(Py_3_14)]
20    _ma_watcher_tag: u64,
21    pub ma_keys: *mut PyDictKeysObject,
22    pub ma_values: *mut PyDictValues,
23}
24
25// skipped private _PyDict_GetItem_KnownHash
26// skipped private _PyDict_GetItemStringWithError
27
28// skipped PyDict_SetDefault
29// skipped PyDict_SetDefaultRef
30
31// skipped PyDict_GET_SIZE
32// skipped PyDict_ContainsString
33
34// skipped private _PyDict_NewPresized
35
36// skipped PyDict_Pop
37// skipped PyDict_PopString
38
39// skipped private _PyDict_Pop
40
41// skipped PY_FOREACH_DICT_EVENT
42// skipped PyDict_WatchEvent
43
44// skipped PyDict_WatchCallback
45
46// skipped PyDict_AddWatcher
47// skipped PyDict_ClearWatcher
48
49// skipped PyDict_Watch
50// skipped PyDict_Unwatch