blob: 54e5751a45d3ea1be8de746dd31d68ce96d158bb [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
Guido van Rossum43466ec1998-12-04 18:48:25 +000023extern DL_IMPORT(PyObject *) PyDict_New Py_PROTO((void));
24extern DL_IMPORT(PyObject *) PyDict_GetItem Py_PROTO((PyObject *mp, PyObject *key));
25extern DL_IMPORT(int) PyDict_SetItem Py_PROTO((PyObject *mp, PyObject *key, PyObject *item));
26extern DL_IMPORT(int) PyDict_DelItem Py_PROTO((PyObject *mp, PyObject *key));
27extern DL_IMPORT(void) PyDict_Clear Py_PROTO((PyObject *mp));
28extern DL_IMPORT(int) PyDict_Next
Guido van Rossum2ec90311997-05-13 21:23:32 +000029 Py_PROTO((PyObject *mp, int *pos, PyObject **key, PyObject **value));
Guido van Rossum43466ec1998-12-04 18:48:25 +000030extern DL_IMPORT(PyObject *) PyDict_Keys Py_PROTO((PyObject *mp));
31extern DL_IMPORT(PyObject *) PyDict_Values Py_PROTO((PyObject *mp));
32extern DL_IMPORT(PyObject *) PyDict_Items Py_PROTO((PyObject *mp));
33extern DL_IMPORT(int) PyDict_Size Py_PROTO((PyObject *mp));
Jeremy Hyltona12c7a72000-03-30 22:27:31 +000034extern DL_IMPORT(PyObject *) PyDict_Copy Py_PROTO((PyObject *mp));
35
Guido van Rossum2ec90311997-05-13 21:23:32 +000036
Guido van Rossum43466ec1998-12-04 18:48:25 +000037extern DL_IMPORT(PyObject *) PyDict_GetItemString Py_PROTO((PyObject *dp, char *key));
38extern DL_IMPORT(int) PyDict_SetItemString Py_PROTO((PyObject *dp, char *key, PyObject *item));
39extern DL_IMPORT(int) PyDict_DelItemString Py_PROTO((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 */