annotate Include/sliceobject.h @ 25135:0f0016632be4 legacy-trunk

_formatparam(), set_param(): RFC 2231 encoding support by Oleg Broytmann in SF patch #600096. Specifically, the former function now encodes the triplets, while the latter adds optional charset and language arguments.
author Barry Warsaw <barry@python.org>
date Fri, 06 Sep 2002 03:55:04 +0000
parents c1eb668525e1
children 60c60dc75c77
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
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 */