Files
metabuilder/typthon/Include/cpython/odictobject.h
johndoe6345789 0e707caa56 feat: Add Typthon
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 17:10:58 +00:00

44 lines
1.3 KiB
C

#ifndef Ty_ODICTOBJECT_H
#define Ty_ODICTOBJECT_H
#ifdef __cplusplus
extern "C" {
#endif
/* OrderedDict */
/* This API is optional and mostly redundant. */
#ifndef Ty_LIMITED_API
typedef struct _odictobject PyODictObject;
PyAPI_DATA(TyTypeObject) PyODict_Type;
PyAPI_DATA(TyTypeObject) PyODictIter_Type;
PyAPI_DATA(TyTypeObject) PyODictKeys_Type;
PyAPI_DATA(TyTypeObject) PyODictItems_Type;
PyAPI_DATA(TyTypeObject) PyODictValues_Type;
#define PyODict_Check(op) PyObject_TypeCheck((op), &PyODict_Type)
#define PyODict_CheckExact(op) Ty_IS_TYPE((op), &PyODict_Type)
#define PyODict_SIZE(op) TyDict_GET_SIZE((op))
PyAPI_FUNC(TyObject *) PyODict_New(void);
PyAPI_FUNC(int) PyODict_SetItem(TyObject *od, TyObject *key, TyObject *item);
PyAPI_FUNC(int) PyODict_DelItem(TyObject *od, TyObject *key);
/* wrappers around PyDict* functions */
#define PyODict_GetItem(od, key) TyDict_GetItem(_TyObject_CAST(od), (key))
#define PyODict_GetItemWithError(od, key) \
TyDict_GetItemWithError(_TyObject_CAST(od), (key))
#define PyODict_Contains(od, key) TyDict_Contains(_TyObject_CAST(od), (key))
#define PyODict_Size(od) TyDict_Size(_TyObject_CAST(od))
#define PyODict_GetItemString(od, key) \
TyDict_GetItemString(_TyObject_CAST(od), (key))
#endif
#ifdef __cplusplus
}
#endif
#endif /* !Ty_ODICTOBJECT_H */