| 
									
										
										
										
											2015-05-29 22:21:39 -06:00
										 |  |  | #ifndef Py_ODICTOBJECT_H
 | 
					
						
							|  |  |  | #define Py_ODICTOBJECT_H
 | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | extern "C" { | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* OrderedDict */ | 
					
						
							| 
									
										
										
										
											2017-12-25 02:08:42 +02:00
										 |  |  | /* This API is optional and mostly redundant. */ | 
					
						
							| 
									
										
										
										
											2015-05-29 22:21:39 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | #ifndef Py_LIMITED_API
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | typedef struct _odictobject PyODictObject; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyAPI_DATA(PyTypeObject) PyODict_Type; | 
					
						
							|  |  |  | PyAPI_DATA(PyTypeObject) PyODictIter_Type; | 
					
						
							|  |  |  | PyAPI_DATA(PyTypeObject) PyODictKeys_Type; | 
					
						
							|  |  |  | PyAPI_DATA(PyTypeObject) PyODictItems_Type; | 
					
						
							|  |  |  | PyAPI_DATA(PyTypeObject) PyODictValues_Type; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-30 09:29:53 -06:00
										 |  |  | #define PyODict_Check(op) PyObject_TypeCheck(op, &PyODict_Type)
 | 
					
						
							| 
									
										
										
										
											2015-05-29 22:21:39 -06:00
										 |  |  | #define PyODict_CheckExact(op) (Py_TYPE(op) == &PyODict_Type)
 | 
					
						
							| 
									
										
										
										
											2016-12-16 16:18:57 +02:00
										 |  |  | #define PyODict_SIZE(op) PyDict_GET_SIZE((op))
 | 
					
						
							| 
									
										
										
										
											2016-12-27 14:57:39 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-29 22:21:39 -06:00
										 |  |  | PyAPI_FUNC(PyObject *) PyODict_New(void); | 
					
						
							|  |  |  | PyAPI_FUNC(int) PyODict_SetItem(PyObject *od, PyObject *key, PyObject *item); | 
					
						
							|  |  |  | PyAPI_FUNC(int) PyODict_DelItem(PyObject *od, PyObject *key); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* wrappers around PyDict* functions */ | 
					
						
							| 
									
										
										
										
											2018-11-22 02:57:29 +01:00
										 |  |  | #define PyODict_GetItem(od, key) PyDict_GetItem(_PyObject_CAST(od), key)
 | 
					
						
							| 
									
										
										
										
											2015-06-01 22:59:08 -06:00
										 |  |  | #define PyODict_GetItemWithError(od, key) \
 | 
					
						
							| 
									
										
										
										
											2018-11-22 02:57:29 +01:00
										 |  |  |     PyDict_GetItemWithError(_PyObject_CAST(od), key) | 
					
						
							|  |  |  | #define PyODict_Contains(od, key) PyDict_Contains(_PyObject_CAST(od), key)
 | 
					
						
							|  |  |  | #define PyODict_Size(od) PyDict_Size(_PyObject_CAST(od))
 | 
					
						
							| 
									
										
										
										
											2015-05-29 22:21:39 -06:00
										 |  |  | #define PyODict_GetItemString(od, key) \
 | 
					
						
							| 
									
										
										
										
											2018-11-22 02:57:29 +01:00
										 |  |  |     PyDict_GetItemString(_PyObject_CAST(od), key) | 
					
						
							| 
									
										
										
										
											2015-05-29 22:21:39 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-27 14:57:39 +02:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-29 22:21:39 -06:00
										 |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | #endif /* !Py_ODICTOBJECT_H */
 |