diff options
author | Guido van Rossum <guido@python.org> | 1996-07-30 16:42:30 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1996-07-30 16:42:30 (GMT) |
commit | e15d0dea071d37b44ac3ba55a5cc31af315e7ef4 (patch) | |
tree | 6c2c35e44ed8558224415ffa1ee40526c47f9593 /Include/sliceobject.h | |
parent | fdebf257055f7fe1a3381544df1eded7092b646f (diff) | |
download | cpython-e15d0dea071d37b44ac3ba55a5cc31af315e7ef4.zip cpython-e15d0dea071d37b44ac3ba55a5cc31af315e7ef4.tar.gz cpython-e15d0dea071d37b44ac3ba55a5cc31af315e7ef4.tar.bz2 |
Slice and ellipses interface
Diffstat (limited to 'Include/sliceobject.h')
-rw-r--r-- | Include/sliceobject.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Include/sliceobject.h b/Include/sliceobject.h new file mode 100644 index 0000000..ac7cd13 --- /dev/null +++ b/Include/sliceobject.h @@ -0,0 +1,40 @@ +#ifndef Py_SLICEOBJECT_H +#define Py_SLICEOBJECT_H +#ifdef __cplusplus +extern "C" { +#endif + +/* The unique ellipses object "..." */ + +extern DL_IMPORT(PyObject) _Py_EllipsesObject; /* Don't use this directly */ + +#define Py_Ellipses (&_Py_EllipsesObject) + + +/* 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 { + PyObject_HEAD + PyObject *start, *stop, *step; +} PySliceObject; + +extern DL_IMPORT(PyTypeObject) PySlice_Type; + +#define PySlice_Check(op) ((op)->ob_type == &PySlice_Type) + +PyObject *PySlice_New Py_PROTO(( + PyObject* start, PyObject* stop, PyObject* step)); +int PySlice_GetIndices Py_PROTO(( + PySliceObject *r, int length, int *start, int *stop, int *step)); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_SLICEOBJECT_H */ |