17db96d56Sopenharmony_ci#ifndef Py_ODICTOBJECT_H 27db96d56Sopenharmony_ci#define Py_ODICTOBJECT_H 37db96d56Sopenharmony_ci#ifdef __cplusplus 47db96d56Sopenharmony_ciextern "C" { 57db96d56Sopenharmony_ci#endif 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_ci 87db96d56Sopenharmony_ci/* OrderedDict */ 97db96d56Sopenharmony_ci/* This API is optional and mostly redundant. */ 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci#ifndef Py_LIMITED_API 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_citypedef struct _odictobject PyODictObject; 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ciPyAPI_DATA(PyTypeObject) PyODict_Type; 167db96d56Sopenharmony_ciPyAPI_DATA(PyTypeObject) PyODictIter_Type; 177db96d56Sopenharmony_ciPyAPI_DATA(PyTypeObject) PyODictKeys_Type; 187db96d56Sopenharmony_ciPyAPI_DATA(PyTypeObject) PyODictItems_Type; 197db96d56Sopenharmony_ciPyAPI_DATA(PyTypeObject) PyODictValues_Type; 207db96d56Sopenharmony_ci 217db96d56Sopenharmony_ci#define PyODict_Check(op) PyObject_TypeCheck(op, &PyODict_Type) 227db96d56Sopenharmony_ci#define PyODict_CheckExact(op) Py_IS_TYPE(op, &PyODict_Type) 237db96d56Sopenharmony_ci#define PyODict_SIZE(op) PyDict_GET_SIZE((op)) 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ciPyAPI_FUNC(PyObject *) PyODict_New(void); 267db96d56Sopenharmony_ciPyAPI_FUNC(int) PyODict_SetItem(PyObject *od, PyObject *key, PyObject *item); 277db96d56Sopenharmony_ciPyAPI_FUNC(int) PyODict_DelItem(PyObject *od, PyObject *key); 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ci/* wrappers around PyDict* functions */ 307db96d56Sopenharmony_ci#define PyODict_GetItem(od, key) PyDict_GetItem(_PyObject_CAST(od), key) 317db96d56Sopenharmony_ci#define PyODict_GetItemWithError(od, key) \ 327db96d56Sopenharmony_ci PyDict_GetItemWithError(_PyObject_CAST(od), key) 337db96d56Sopenharmony_ci#define PyODict_Contains(od, key) PyDict_Contains(_PyObject_CAST(od), key) 347db96d56Sopenharmony_ci#define PyODict_Size(od) PyDict_Size(_PyObject_CAST(od)) 357db96d56Sopenharmony_ci#define PyODict_GetItemString(od, key) \ 367db96d56Sopenharmony_ci PyDict_GetItemString(_PyObject_CAST(od), key) 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_ci#endif 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci#ifdef __cplusplus 417db96d56Sopenharmony_ci} 427db96d56Sopenharmony_ci#endif 437db96d56Sopenharmony_ci#endif /* !Py_ODICTOBJECT_H */ 44