Mercurial > cpython-lru_cache-weakref
annotate Include/sliceobject.h @ 32527:0da660e05e69 legacy-trunk
"#if WITH_THREAD" is incorrect; must be #ifdef instead; WITH_THREAD
isn't always set to an integer value when it's defined.
| author | Tim Peters <tim.peters@gmail.com> |
|---|---|
| date | Wed, 07 Jul 2004 20:42:07 +0000 |
| parents | c1eb668525e1 |
| children | 60c60dc75c77 |
| 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 |
|
24752
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
23778
diff
changeset
|
9 PyAPI_DATA(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 |
|
24752
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
23778
diff
changeset
|
27 PyAPI_DATA(PyTypeObject) PySlice_Type; |
|
3834
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 |
|
24752
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
23778
diff
changeset
|
31 PyAPI_FUNC(PyObject *) PySlice_New(PyObject* start, PyObject* stop, |
|
13445
091ca6b9348f
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
9586
diff
changeset
|
32 PyObject* step); |
|
24752
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
23778
diff
changeset
|
33 PyAPI_FUNC(int) PySlice_GetIndices(PySliceObject *r, int length, |
|
13445
091ca6b9348f
ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents:
9586
diff
changeset
|
34 int *start, int *stop, int *step); |
|
24752
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
23778
diff
changeset
|
35 PyAPI_FUNC(int) PySlice_GetIndicesEx(PySliceObject *r, int length, |
|
23778
245224d1b8c9
This is my nearly two year old patch
Michael W. Hudson <mwh@python.net>
parents:
13445
diff
changeset
|
36 int *start, int *stop, |
|
245224d1b8c9
This is my nearly two year old patch
Michael W. Hudson <mwh@python.net>
parents:
13445
diff
changeset
|
37 int *step, int *slicelength); |
|
3834
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
38 |
|
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
39 #ifdef __cplusplus |
|
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
40 } |
|
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
41 #endif |
|
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
42 #endif /* !Py_SLICEOBJECT_H */ |
