diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2016-12-16 16:18:57 +0200 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2016-12-16 16:18:57 +0200 |
commit | f22b56b777f7134b5c4e6c9caa9249e92c4f4fd9 (patch) | |
tree | 8e4784da85fdc63feb24d68dc2047571225869e4 /Include | |
parent | 41127a7fe66d0a720d378f68f1cacbee8badf8db (diff) | |
download | cpython-f22b56b777f7134b5c4e6c9caa9249e92c4f4fd9.tar.gz |
Issue #28959: Added private macro PyDict_GET_SIZE for retrieving the size of dict.
Diffstat (limited to 'Include')
-rw-r--r-- | Include/dictobject.h | 2 | ||||
-rw-r--r-- | Include/odictobject.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/Include/dictobject.h b/Include/dictobject.h index 30f114e49c..885694b491 100644 --- a/Include/dictobject.h +++ b/Include/dictobject.h @@ -106,6 +106,8 @@ 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); #ifndef Py_LIMITED_API +/* Get the number of items of a dictionary. */ +#define PyDict_GET_SIZE(mp) (assert(PyDict_Check(mp)),((PyDictObject *)mp)->ma_used) PyAPI_FUNC(int) _PyDict_Contains(PyObject *mp, PyObject *key, Py_hash_t hash); PyAPI_FUNC(PyObject *) _PyDict_NewPresized(Py_ssize_t minused); PyAPI_FUNC(void) _PyDict_MaybeUntrack(PyObject *mp); diff --git a/Include/odictobject.h b/Include/odictobject.h index c1d9592a1d..9410a0d845 100644 --- a/Include/odictobject.h +++ b/Include/odictobject.h @@ -21,7 +21,7 @@ PyAPI_DATA(PyTypeObject) PyODictValues_Type; #define PyODict_Check(op) PyObject_TypeCheck(op, &PyODict_Type) #define PyODict_CheckExact(op) (Py_TYPE(op) == &PyODict_Type) -#define PyODict_SIZE(op) ((PyDictObject *)op)->ma_used +#define PyODict_SIZE(op) PyDict_GET_SIZE((op)) #define PyODict_HasKey(od, key) (PyMapping_HasKey(PyObject *)od, key) PyAPI_FUNC(PyObject *) PyODict_New(void); |