| 
									
										
										
										
											1996-07-30 16:42:30 +00:00
										 |  |  | #ifndef Py_SLICEOBJECT_H
 | 
					
						
							|  |  |  | #define Py_SLICEOBJECT_H
 | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | extern "C" { | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1996-10-11 16:25:41 +00:00
										 |  |  | /* The unique ellipsis object "..." */ | 
					
						
							| 
									
										
										
										
											1996-07-30 16:42:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1996-10-11 16:25:41 +00:00
										 |  |  | extern DL_IMPORT(PyObject) _Py_EllipsisObject; /* Don't use this directly */ | 
					
						
							| 
									
										
										
										
											1996-07-30 16:42:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1996-10-11 16:25:41 +00:00
										 |  |  | #define Py_Ellipsis (&_Py_EllipsisObject)
 | 
					
						
							| 
									
										
										
										
											1996-07-30 16:42:30 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* Slice object interface */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | A slice object containing start, stop, and step data members (the | 
					
						
							|  |  |  | names are from range).  After much talk with Guido, it was decided to | 
					
						
							|  |  |  | let these be any arbitrary python type.  | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | typedef struct { | 
					
						
							| 
									
										
										
										
											2000-07-09 00:55:06 +00:00
										 |  |  |     PyObject_HEAD | 
					
						
							|  |  |  |     PyObject *start, *stop, *step; | 
					
						
							| 
									
										
										
										
											1996-07-30 16:42:30 +00:00
										 |  |  | } PySliceObject; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern DL_IMPORT(PyTypeObject) PySlice_Type; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define PySlice_Check(op) ((op)->ob_type == &PySlice_Type)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-07-09 00:55:06 +00:00
										 |  |  | DL_IMPORT(PyObject *) PySlice_New(PyObject* start, PyObject* stop, | 
					
						
							|  |  |  |                                   PyObject* step); | 
					
						
							|  |  |  | DL_IMPORT(int) PySlice_GetIndices(PySliceObject *r, int length, | 
					
						
							|  |  |  |                                   int *start, int *stop, int *step); | 
					
						
							| 
									
										
										
										
											1996-07-30 16:42:30 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | #endif /* !Py_SLICEOBJECT_H */
 |