Mercurial > cpython-lru_cache-weakref
annotate Include/sliceobject.h @ 13163:a09e8635534d legacy-trunk
Don't try to guess the name of a .def file -- if one is supplied, use it,
otherwise just generate an '/export:' option.
| author | Greg Ward <gward@python.net> |
|---|---|
| date | Thu, 29 Jun 2000 23:09:20 +0000 |
| parents | 60fdb1db1175 |
| children | 091ca6b9348f |
| 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 { |
|
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
23 PyObject_HEAD |
|
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
24 PyObject *start, *stop, *step; |
|
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 |
|
9586
60fdb1db1175
Add DL_IMPORT(returntype) for all officially exported functions.
Guido van Rossum <guido@python.org>
parents:
4416
diff
changeset
|
31 DL_IMPORT(PyObject *) PySlice_New Py_PROTO(( |
|
3834
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
32 PyObject* start, PyObject* stop, PyObject* step)); |
|
9586
60fdb1db1175
Add DL_IMPORT(returntype) for all officially exported functions.
Guido van Rossum <guido@python.org>
parents:
4416
diff
changeset
|
33 DL_IMPORT(int) PySlice_GetIndices Py_PROTO(( |
|
3834
77d912f2abcb
Slice and ellipses interface
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
34 PySliceObject *r, int length, int *start, int *stop, int *step)); |
|
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 */ |
