annotate Include/sliceobject.h @ 38664:7619216bbc19 2.4

Bug #1502728: Correctly link against librt library on HP-UX. (backport from rev. 46743)
author Georg Brandl <georg@python.org>
date Thu, 08 Jun 2006 12:54:16 +0000
parents 60c60dc75c77
children 7fdc639bc5b4
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
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;
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 */