Mercurial > cpython-lru_cache-weakref
annotate Include/sliceobject.h @ 80661:94de77bd0b4b 2.7
Issue #16194: document imp.load_dynamic problems
when read several extension modules from the same binary object file.
| author | Andrew Svetlov <andrew.svetlov@gmail.com> |
|---|---|
| date | Thu, 29 Nov 2012 19:51:28 +0200 |
| parents | b5e2bcbbfa74 |
| children | 62b61abd02b8 |
| 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 |
|
33856
60c60dc75c77
Wrote down the invariants of some common objects whose structure is
Armin Rigo <arigo@tunes.org>
parents:
24752
diff
changeset
|
19 let these be any arbitrary python type. Py_None stands for omitted values. |
|
3834
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 |
|
33856
60c60dc75c77
Wrote down the invariants of some common objects whose structure is
Armin Rigo <arigo@tunes.org>
parents:
24752
diff
changeset
|
24 PyObject *start, *stop, *step; /* not NULL */ |
|
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; |
|
53368
b5e2bcbbfa74
Merged revisions 71757 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
44351
diff
changeset
|
28 PyAPI_DATA(PyTypeObject) PyEllipsis_Type; |
|
3834
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
29 |
|
44351
86a2679dca46
#1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT.
Christian Heimes <christian@cheimes.de>
parents:
42334
diff
changeset
|
30 #define PySlice_Check(op) (Py_TYPE(op) == &PySlice_Type) |
|
3834
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
31 |
|
24752
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
23778
diff
changeset
|
32 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
|
33 PyObject* step); |
|
37879
f731859e9b3b
Merge p3yk branch with the trunk up to revision 45595. This breaks a fair
Thomas Wouters <thomas@python.org>
parents:
36501
diff
changeset
|
34 PyAPI_FUNC(PyObject *) _PySlice_FromIndices(Py_ssize_t start, Py_ssize_t stop); |
|
36501
7fdc639bc5b4
Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents:
33856
diff
changeset
|
35 PyAPI_FUNC(int) PySlice_GetIndices(PySliceObject *r, Py_ssize_t length, |
|
7fdc639bc5b4
Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents:
33856
diff
changeset
|
36 Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step); |
|
7fdc639bc5b4
Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents:
33856
diff
changeset
|
37 PyAPI_FUNC(int) PySlice_GetIndicesEx(PySliceObject *r, Py_ssize_t length, |
|
7fdc639bc5b4
Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents:
33856
diff
changeset
|
38 Py_ssize_t *start, Py_ssize_t *stop, |
|
7fdc639bc5b4
Merge ssize_t branch.
Martin v. Löwis <martin@v.loewis.de>
parents:
33856
diff
changeset
|
39 Py_ssize_t *step, Py_ssize_t *slicelength); |
|
3834
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 #ifdef __cplusplus |
|
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
42 } |
|
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
43 #endif |
|
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
44 #endif /* !Py_SLICEOBJECT_H */ |
