blob: b79ed600467da7fc6d7531a6d6e20977e058a52d [file] [log] [blame]
Guido van Rossuma3309961993-07-28 09:05:47 +00001#ifndef Py_DICTOBJECT_H
2#define Py_DICTOBJECT_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
Guido van Rossumf70e43a1991-02-19 12:39:46 +00007/***********************************************************
Guido van Rossumfd71b9e2000-06-30 23:50:40 +00008Copyright (c) 2000, BeOpen.com.
9Copyright (c) 1995-2000, Corporation for National Research Initiatives.
10Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
11All rights reserved.
Guido van Rossumf70e43a1991-02-19 12:39:46 +000012
Guido van Rossumfd71b9e2000-06-30 23:50:40 +000013See the file "Misc/COPYRIGHT" for information on usage and
14redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Guido van Rossumf70e43a1991-02-19 12:39:46 +000015******************************************************************/
16
Guido van Rossum2ec90311997-05-13 21:23:32 +000017/* Dictionary object type -- mapping from hashable object to object */
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000018
Guido van Rossum2ec90311997-05-13 21:23:32 +000019extern DL_IMPORT(PyTypeObject) PyDict_Type;
20
21#define PyDict_Check(op) ((op)->ob_type == &PyDict_Type)
22
Tim Peters1f5871e2000-07-04 17:44:48 +000023extern DL_IMPORT(PyObject *) PyDict_New(void);
24extern DL_IMPORT(PyObject *) PyDict_GetItem(PyObject *mp, PyObject *key);
25extern DL_IMPORT(int) PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item);
26extern DL_IMPORT(int) PyDict_DelItem(PyObject *mp, PyObject *key);
27extern DL_IMPORT(void) PyDict_Clear(PyObject *mp);
Guido van Rossum43466ec1998-12-04 18:48:25 +000028extern DL_IMPORT(int) PyDict_Next
Tim Peters1f5871e2000-07-04 17:44:48 +000029 (PyObject *mp, int *pos, PyObject **key, PyObject **value);
30extern DL_IMPORT(PyObject *) PyDict_Keys(PyObject *mp);
31extern DL_IMPORT(PyObject *) PyDict_Values(PyObject *mp);
32extern DL_IMPORT(PyObject *) PyDict_Items(PyObject *mp);
33extern DL_IMPORT(int) PyDict_Size(PyObject *mp);
34extern DL_IMPORT(PyObject *) PyDict_Copy(PyObject *mp);
Jeremy Hyltona12c7a72000-03-30 22:27:31 +000035
Guido van Rossum2ec90311997-05-13 21:23:32 +000036
Tim Peters1f5871e2000-07-04 17:44:48 +000037extern DL_IMPORT(PyObject *) PyDict_GetItemString(PyObject *dp, char *key);
38extern DL_IMPORT(int) PyDict_SetItemString(PyObject *dp, char *key, PyObject *item);
39extern DL_IMPORT(int) PyDict_DelItemString(PyObject *dp, char *key);
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000040
Guido van Rossuma3309961993-07-28 09:05:47 +000041#ifdef __cplusplus
42}
43#endif
44#endif /* !Py_DICTOBJECT_H */