summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1996-07-30 16:42:30 (GMT)
committerGuido van Rossum <guido@python.org>1996-07-30 16:42:30 (GMT)
commite15d0dea071d37b44ac3ba55a5cc31af315e7ef4 (patch)
tree6c2c35e44ed8558224415ffa1ee40526c47f9593 /Include
parentfdebf257055f7fe1a3381544df1eded7092b646f (diff)
downloadcpython-e15d0dea071d37b44ac3ba55a5cc31af315e7ef4.zip
cpython-e15d0dea071d37b44ac3ba55a5cc31af315e7ef4.tar.gz
cpython-e15d0dea071d37b44ac3ba55a5cc31af315e7ef4.tar.bz2
Slice and ellipses interface
Diffstat (limited to 'Include')
-rw-r--r--Include/sliceobject.h40
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 */