FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cpython/Include/dictobject.h at master · python-emscripten/cpython · GitHub
python-emscripten
cpython
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cpython
/
Include
/
dictobject.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
94 lines (76 loc) · 3.63 KB
Breadcrumbs
cpython
/
Include
/
dictobject.h
Copy path
File metadata and controls
94 lines (76 loc) · 3.63 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#ifndef
Py_DICTOBJECT_H
#define
Py_DICTOBJECT_H
#ifdef
__cplusplus
extern
"C"
{
#endif
/* Dictionary object type -- mapping from hashable object to object */
/* The distribution includes a separate file, Objects/dictnotes.txt,
describing explorations into dictionary design and optimization.
It covers typical dictionary use patterns, the parameters for
tuning dictionaries, and several ideas for possible optimizations.
*/
PyAPI_DATA
(
PyTypeObject
)
PyDict_Type
;
#define
PyDict_Check
(
op
) \
PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_DICT_SUBCLASS)
#define
PyDict_CheckExact
(
op
) Py_IS_TYPE(op, &PyDict_Type)
PyAPI_FUNC
(
PyObject
*
)
PyDict_New
(
void
);
PyAPI_FUNC
(
PyObject
*
)
PyDict_GetItem
(
PyObject
*
mp
,
PyObject
*
key
);
PyAPI_FUNC
(
PyObject
*
)
PyDict_GetItemWithError
(
PyObject
*
mp
,
PyObject
*
key
);
PyAPI_FUNC
(
int
)
PyDict_SetItem
(
PyObject
*
mp
,
PyObject
*
key
,
PyObject
*
item
);
PyAPI_FUNC
(
int
)
PyDict_DelItem
(
PyObject
*
mp
,
PyObject
*
key
);
PyAPI_FUNC
(
void
)
PyDict_Clear
(
PyObject
*
mp
);
PyAPI_FUNC
(
int
)
PyDict_Next
(
PyObject
*
mp
,
Py_ssize_t
*
pos
,
PyObject
*
*
key
,
PyObject
*
*
value
);
PyAPI_FUNC
(
PyObject
*
)
PyDict_Keys
(
PyObject
*
mp
);
PyAPI_FUNC
(
PyObject
*
)
PyDict_Values
(
PyObject
*
mp
);
PyAPI_FUNC
(
PyObject
*
)
PyDict_Items
(
PyObject
*
mp
);
PyAPI_FUNC
(
Py_ssize_t
)
PyDict_Size
(
PyObject
*
mp
);
PyAPI_FUNC
(
PyObject
*
)
PyDict_Copy
(
PyObject
*
mp
);
PyAPI_FUNC
(
int
)
PyDict_Contains
(
PyObject
*
mp
,
PyObject
*
key
);
/* PyDict_Update(mp, other) is equivalent to PyDict_Merge(mp, other, 1). */
PyAPI_FUNC
(
int
)
PyDict_Update
(
PyObject
*
mp
,
PyObject
*
other
);
/* PyDict_Merge updates/merges from a mapping object (an object that
supports PyMapping_Keys() and PyObject_GetItem()). If override is true,
the last occurrence of a key wins, else the first. The Python
dict.update(other) is equivalent to PyDict_Merge(dict, other, 1).
*/
PyAPI_FUNC
(
int
)
PyDict_Merge
(
PyObject
*
mp
,
PyObject
*
other
,
int
override
);
/* PyDict_MergeFromSeq2 updates/merges from an iterable object producing
iterable objects of length 2. If override is true, the last occurrence
of a key wins, else the first. The Python dict constructor dict(seq2)
is equivalent to dict={}; PyDict_MergeFromSeq(dict, seq2, 1).
*/
PyAPI_FUNC
(
int
)
PyDict_MergeFromSeq2
(
PyObject
*
d
,
PyObject
*
seq2
,
int
override
);
PyAPI_FUNC
(
PyObject
*
)
PyDict_GetItemString
(
PyObject
*
dp
,
const
char
*
key
);
PyAPI_FUNC
(
int
)
PyDict_SetItemString
(
PyObject
*
dp
,
const
char
*
key
,
PyObject
*
item
);
PyAPI_FUNC
(
int
)
PyDict_DelItemString
(
PyObject
*
dp
,
const
char
*
key
);
/* Dictionary (keys, values, items) views */
PyAPI_DATA
(
PyTypeObject
)
PyDictKeys_Type
;
PyAPI_DATA
(
PyTypeObject
)
PyDictValues_Type
;
PyAPI_DATA
(
PyTypeObject
)
PyDictItems_Type
;
#define
PyDictKeys_Check
(
op
) PyObject_TypeCheck(op, &PyDictKeys_Type)
#define
PyDictValues_Check
(
op
) PyObject_TypeCheck(op, &PyDictValues_Type)
#define
PyDictItems_Check
(
op
) PyObject_TypeCheck(op, &PyDictItems_Type)
/* This excludes Values, since they are not sets. */
# define
PyDictViewSet_Check
(
op
) \
(PyDictKeys_Check(op) || PyDictItems_Check(op))
/* Dictionary (key, value, items) iterators */
PyAPI_DATA
(
PyTypeObject
)
PyDictIterKey_Type
;
PyAPI_DATA
(
PyTypeObject
)
PyDictIterValue_Type
;
PyAPI_DATA
(
PyTypeObject
)
PyDictIterItem_Type
;
PyAPI_DATA
(
PyTypeObject
)
PyDictRevIterKey_Type
;
PyAPI_DATA
(
PyTypeObject
)
PyDictRevIterItem_Type
;
PyAPI_DATA
(
PyTypeObject
)
PyDictRevIterValue_Type
;
#ifndef
Py_LIMITED_API
# define
Py_CPYTHON_DICTOBJECT_H
# include
"cpython/dictobject.h"
# undef
Py_CPYTHON_DICTOBJECT_H
#endif
#ifdef
__cplusplus
}
#endif
#endif
/* !Py_DICTOBJECT_H */
Back
|
FazBrowse Home
|
New Git URL