Mercurial > cpython-lru_cache-weakref
annotate Include/tupleobject.h @ 1590:ac2e5cc29949 legacy-trunk
Added tests for missing host to open_http and open_gopher
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Mon, 18 Apr 1994 09:39:56 +0000 |
| parents | a4aa83012af3 |
| children | 1940892d2fe3 |
| rev | line source |
|---|---|
|
1329
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
1 #ifndef Py_TUPLEOBJECT_H |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
2 #define Py_TUPLEOBJECT_H |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
3 #ifdef __cplusplus |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
4 extern "C" { |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
5 #endif |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
6 |
| 145 | 7 /*********************************************************** |
|
1257
1cabc2b6c970
* Changed all copyright messages to include 1993.
Guido van Rossum <guido@python.org>
parents:
790
diff
changeset
|
8 Copyright 1991, 1992, 1993 by Stichting Mathematisch Centrum, |
|
1cabc2b6c970
* Changed all copyright messages to include 1993.
Guido van Rossum <guido@python.org>
parents:
790
diff
changeset
|
9 Amsterdam, The Netherlands. |
| 145 | 10 |
| 11 All Rights Reserved | |
| 12 | |
| 13 Permission to use, copy, modify, and distribute this software and its | |
| 14 documentation for any purpose and without fee is hereby granted, | |
| 15 provided that the above copyright notice appear in all copies and that | |
| 16 both that copyright notice and this permission notice appear in | |
| 17 supporting documentation, and that the names of Stichting Mathematisch | |
| 18 Centrum or CWI not be used in advertising or publicity pertaining to | |
| 19 distribution of the software without specific, written prior permission. | |
| 20 | |
| 21 STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO | |
| 22 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND | |
| 23 FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE | |
| 24 FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
| 25 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
| 26 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT | |
| 27 OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
| 28 | |
| 29 ******************************************************************/ | |
| 30 | |
| 6 | 31 /* Tuple object interface */ |
| 32 | |
| 33 /* | |
| 34 123456789-123456789-123456789-123456789-123456789-123456789-123456789-12 | |
| 35 | |
| 36 Another generally useful object type is an tuple of object pointers. | |
| 37 This is a mutable type: the tuple items can be changed (but not their | |
| 38 number). Out-of-range indices or non-tuple objects are ignored. | |
| 39 | |
| 40 *** WARNING *** settupleitem does not increment the new item's reference | |
| 41 count, but does decrement the reference count of the item it replaces, | |
| 42 if not nil. It does *decrement* the reference count if it is *not* | |
| 43 inserted in the tuple. Similarly, gettupleitem does not increment the | |
| 44 returned item's reference count. | |
| 45 */ | |
| 46 | |
| 86 | 47 typedef struct { |
| 48 OB_VARHEAD | |
| 49 object *ob_item[1]; | |
| 50 } tupleobject; | |
| 51 | |
| 6 | 52 extern typeobject Tupletype; |
| 53 | |
| 54 #define is_tupleobject(op) ((op)->ob_type == &Tupletype) | |
| 55 | |
| 56 extern object *newtupleobject PROTO((int size)); | |
| 57 extern int gettuplesize PROTO((object *)); | |
| 58 extern object *gettupleitem PROTO((object *, int)); | |
| 59 extern int settupleitem PROTO((object *, int, object *)); | |
|
599
a347933a6d92
New function gettupleslice(v, i, j).
Guido van Rossum <guido@python.org>
parents:
145
diff
changeset
|
60 extern object *gettupleslice PROTO((object *, int, int)); |
|
1380
a4aa83012af3
Fixed bugs in resizetuple and extended the interface.
Sjoerd Mullender <sjoerd@acm.org>
parents:
1369
diff
changeset
|
61 extern int resizetuple PROTO((object **, int, int)); |
| 86 | 62 |
| 63 /* Macro, trading safety for speed */ | |
| 64 #define GETTUPLEITEM(op, i) ((op)->ob_item[i]) | |
|
1329
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
65 |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
66 #ifdef __cplusplus |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
67 } |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
68 #endif |
|
519c25039c6a
* Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents:
1257
diff
changeset
|
69 #endif /* !Py_TUPLEOBJECT_H */ |
