Files for 2.1b1 distribution.
[python/dscho.git] / Include / sliceobject.h
blobd9d69349842b4cd5f43b7788a1b221439765c7cc
1 #ifndef Py_SLICEOBJECT_H
2 #define Py_SLICEOBJECT_H
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
7 /* The unique ellipsis object "..." */
9 extern DL_IMPORT(PyObject) _Py_EllipsisObject; /* Don't use this directly */
11 #define Py_Ellipsis (&_Py_EllipsisObject)
13 /* Slice object interface */
17 A slice object containing start, stop, and step data members (the
18 names are from range). After much talk with Guido, it was decided to
19 let these be any arbitrary python type.
22 typedef struct {
23 PyObject_HEAD
24 PyObject *start, *stop, *step;
25 } PySliceObject;
27 extern DL_IMPORT(PyTypeObject) PySlice_Type;
29 #define PySlice_Check(op) ((op)->ob_type == &PySlice_Type)
31 DL_IMPORT(PyObject *) PySlice_New(PyObject* start, PyObject* stop,
32 PyObject* step);
33 DL_IMPORT(int) PySlice_GetIndices(PySliceObject *r, int length,
34 int *start, int *stop, int *step);
36 #ifdef __cplusplus
38 #endif
39 #endif /* !Py_SLICEOBJECT_H */