Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /opt/alt/python313/include/python3.13/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/alt/python313/include/python3.13/dictobject.h
#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);

#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030D0000
// Return the object from dictionary *op* which has a key *key*.
// - If the key is present, set *result to a new strong reference to the value
//   and return 1.
// - If the key is missing, set *result to NULL and return 0 .
// - On error, raise an exception and return -1.
PyAPI_FUNC(int) PyDict_GetItemRef(PyObject *mp, PyObject *key, PyObject **result);
PyAPI_FUNC(int) PyDict_GetItemStringRef(PyObject *mp, const char *key, PyObject **result);
#endif

#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000
PyAPI_FUNC(PyObject *) PyObject_GenericGetDict(PyObject *, void *);
#endif

/* 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 */
Name
Size
Permissions
Options
cpython
--
drwxr-xr-x
internal
--
drwxr-xr-x
Python.h
3.867 KB
-rw-r--r--
abstract.h
31.986 KB
-rw-r--r--
bltinmodule.h
0.258 KB
-rw-r--r--
boolobject.h
1.567 KB
-rw-r--r--
bytearrayobject.h
1.432 KB
-rw-r--r--
bytesobject.h
2.509 KB
-rw-r--r--
ceval.h
4.999 KB
-rw-r--r--
codecs.h
5.308 KB
-rw-r--r--
compile.h
0.438 KB
-rw-r--r--
complexobject.h
0.711 KB
-rw-r--r--
critical_section.h
0.307 KB
-rw-r--r--
datetime.h
9.54 KB
-rw-r--r--
descrobject.h
3.008 KB
-rw-r--r--
dictobject.h
4.278 KB
-rw-r--r--
dynamic_annotations.h
21.944 KB
-rw-r--r--
enumobject.h
0.247 KB
-rw-r--r--
errcode.h
1.928 KB
-rw-r--r--
exports.h
4.487 KB
-rw-r--r--
fileobject.h
1.325 KB
-rw-r--r--
fileutils.h
1.386 KB
-rw-r--r--
floatobject.h
1.496 KB
-rw-r--r--
frameobject.h
0.328 KB
-rw-r--r--
genericaliasobject.h
0.326 KB
-rw-r--r--
import.h
3.159 KB
-rw-r--r--
intrcheck.h
0.522 KB
-rw-r--r--
iterobject.h
0.513 KB
-rw-r--r--
listobject.h
1.873 KB
-rw-r--r--
lock.h
0.236 KB
-rw-r--r--
longobject.h
3.802 KB
-rw-r--r--
marshal.h
0.808 KB
-rw-r--r--
memoryobject.h
1.056 KB
-rw-r--r--
methodobject.h
5.215 KB
-rw-r--r--
modsupport.h
5.504 KB
-rw-r--r--
moduleobject.h
3.593 KB
-rw-r--r--
monitoring.h
0.323 KB
-rw-r--r--
object.h
46.522 KB
-rw-r--r--
objimpl.h
8.184 KB
-rw-r--r--
opcode.h
1.503 KB
-rw-r--r--
opcode_ids.h
11.567 KB
-rw-r--r--
osdefs.h
0.828 KB
-rw-r--r--
osmodule.h
0.284 KB
-rw-r--r--
patchlevel.h
1.269 KB
-rw-r--r--
py_curses.h
3.427 KB
-rw-r--r--
pyatomic.h
0.251 KB
-rw-r--r--
pybuffer.h
5.158 KB
-rw-r--r--
pycapsule.h
1.686 KB
-rw-r--r--
pyconfig-64.h
57.078 KB
-rw-r--r--
pyconfig.h
0.158 KB
-rw-r--r--
pydtrace.h
2.348 KB
-rw-r--r--
pyerrors.h
12.664 KB
-rw-r--r--
pyexpat.h
2.512 KB
-rw-r--r--
pyframe.h
0.538 KB
-rw-r--r--
pyhash.h
1.617 KB
-rw-r--r--
pylifecycle.h
2.355 KB
-rw-r--r--
pymacconfig.h
2.438 KB
-rw-r--r--
pymacro.h
7.183 KB
-rw-r--r--
pymath.h
1.648 KB
-rw-r--r--
pymem.h
4.334 KB
-rw-r--r--
pyport.h
19.818 KB
-rw-r--r--
pystate.h
4.525 KB
-rw-r--r--
pystats.h
0.582 KB
-rw-r--r--
pystrcmp.h
0.426 KB
-rw-r--r--
pystrtod.h
1.218 KB
-rw-r--r--
pythonrun.h
1.282 KB
-rw-r--r--
pythread.h
3.908 KB
-rw-r--r--
pytypedefs.h
0.831 KB
-rw-r--r--
rangeobject.h
0.615 KB
-rw-r--r--
setobject.h
1.521 KB
-rw-r--r--
sliceobject.h
2.6 KB
-rw-r--r--
structmember.h
1.606 KB
-rw-r--r--
structseq.h
1.277 KB
-rw-r--r--
sysmodule.h
1.222 KB
-rw-r--r--
traceback.h
0.571 KB
-rw-r--r--
tupleobject.h
1.577 KB
-rw-r--r--
typeslots.h
2.287 KB
-rw-r--r--
unicodeobject.h
34.591 KB
-rw-r--r--
warnings.h
1.103 KB
-rw-r--r--
weakrefobject.h
1.358 KB
-rw-r--r--