blob: 2912eb94eaeb81c05fbd1abff90120e877c5d6ef [file] [log] [blame]
Eric Snow47db7172015-05-29 22:21:39 -06001#ifndef Py_DICT_COMMON_H
2#define Py_DICT_COMMON_H
3
4typedef struct {
5 /* Cached hash code of me_key. */
6 Py_hash_t me_hash;
7 PyObject *me_key;
8 PyObject *me_value; /* This field is only meaningful for combined tables */
9} PyDictKeyEntry;
10
11typedef PyDictKeyEntry *(*dict_lookup_func)
12(PyDictObject *mp, PyObject *key, Py_hash_t hash, PyObject ***value_addr);
13
14struct _dictkeysobject {
15 Py_ssize_t dk_refcnt;
16 Py_ssize_t dk_size;
17 dict_lookup_func dk_lookup;
18 Py_ssize_t dk_usable;
19 PyDictKeyEntry dk_entries[1];
20};
21
22#endif