annotate Include/sliceobject.h @ 23150:52257affe0c9 2.2

backport gvanrossum's patch: Deprecate % as well. The message for deprecation of //, % and divmod is the same in all three cases (mostly because // calls divmod :-). Original patches were: python/dist/src/Objects/complexobject.c:2.59
author Anthony Baxter <anthonybaxter@gmail.com>
date Thu, 18 Apr 2002 05:39:54 +0000
parents 091ca6b9348f
children 245224d1b8c9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3834
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 #ifndef Py_SLICEOBJECT_H
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 #define Py_SLICEOBJECT_H
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 #ifdef __cplusplus
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 extern "C" {
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 #endif
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
6
4403
3b3f7c3f6da2 Ellipses -> Ellipsis rename (the dictionary really says that it should
Guido van Rossum <guido@python.org>
parents: 3834
diff changeset
7 /* The unique ellipsis object "..." */
3834
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
8
4403
3b3f7c3f6da2 Ellipses -> Ellipsis rename (the dictionary really says that it should
Guido van Rossum <guido@python.org>
parents: 3834
diff changeset
9 extern DL_IMPORT(PyObject) _Py_EllipsisObject; /* Don't use this directly */
3834
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
10
4403
3b3f7c3f6da2 Ellipses -> Ellipsis rename (the dictionary really says that it should
Guido van Rossum <guido@python.org>
parents: 3834
diff changeset
11 #define Py_Ellipsis (&_Py_EllipsisObject)
3834
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
12
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 /* Slice object interface */
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
14
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 /*
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
16
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 A slice object containing start, stop, and step data members (the
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 names are from range). After much talk with Guido, it was decided to
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 let these be any arbitrary python type.
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 */
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
21
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
22 typedef struct {
13445
091ca6b9348f ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 9586
diff changeset
23 PyObject_HEAD
091ca6b9348f ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 9586
diff changeset
24 PyObject *start, *stop, *step;
3834
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 } PySliceObject;
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
26
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 extern DL_IMPORT(PyTypeObject) PySlice_Type;
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
28
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 #define PySlice_Check(op) ((op)->ob_type == &PySlice_Type)
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
30
13445
091ca6b9348f ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 9586
diff changeset
31 DL_IMPORT(PyObject *) PySlice_New(PyObject* start, PyObject* stop,
091ca6b9348f ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 9586
diff changeset
32 PyObject* step);
091ca6b9348f ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 9586
diff changeset
33 DL_IMPORT(int) PySlice_GetIndices(PySliceObject *r, int length,
091ca6b9348f ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 9586
diff changeset
34 int *start, int *stop, int *step);
3834
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
35
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
36 #ifdef __cplusplus
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
37 }
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 #endif
77d912f2abcb Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff changeset
39 #endif /* !Py_SLICEOBJECT_H */