Mercurial > cpython-lru_cache-weakref
annotate Include/rangeobject.h @ 87690:66c1c9f32567 default tip
Add use_weakref option to functools.lru_cache
The use_weakref option makes lru_cache create weak references to the function
arguments when creating the cache key, which prevents them from staying in the
memory forever even after all other references to them are gone.
This is a proof of concept for http://bugs.python.org/issue19859
| author | Radomir Dopieralski <devel@sheep.art.pl> |
|---|---|
| date | Tue, 03 Dec 2013 16:02:48 +0100 |
| parents | 86a2679dca46 |
| children |
| rev | line source |
|---|---|
|
1369
89e1e5d9ccbf
* compile.[ch]: support for lambda()
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1 |
|
89e1e5d9ccbf
* compile.[ch]: support for lambda()
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2 /* Range object interface */ |
|
89e1e5d9ccbf
* compile.[ch]: support for lambda()
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3 |
|
18039
91619d7df58b
Wrap with extern "C". Fixes bug #428419.
Martin v. Löwis <martin@v.loewis.de>
parents:
14375
diff
changeset
|
4 #ifndef Py_RANGEOBJECT_H |
|
91619d7df58b
Wrap with extern "C". Fixes bug #428419.
Martin v. Löwis <martin@v.loewis.de>
parents:
14375
diff
changeset
|
5 #define Py_RANGEOBJECT_H |
|
91619d7df58b
Wrap with extern "C". Fixes bug #428419.
Martin v. Löwis <martin@v.loewis.de>
parents:
14375
diff
changeset
|
6 #ifdef __cplusplus |
|
91619d7df58b
Wrap with extern "C". Fixes bug #428419.
Martin v. Löwis <martin@v.loewis.de>
parents:
14375
diff
changeset
|
7 extern "C" { |
|
91619d7df58b
Wrap with extern "C". Fixes bug #428419.
Martin v. Löwis <martin@v.loewis.de>
parents:
14375
diff
changeset
|
8 #endif |
|
91619d7df58b
Wrap with extern "C". Fixes bug #428419.
Martin v. Löwis <martin@v.loewis.de>
parents:
14375
diff
changeset
|
9 |
|
1369
89e1e5d9ccbf
* compile.[ch]: support for lambda()
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
10 /* |
|
2146
9afdbf944c2a
new names for lots of new functions
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
11 A range object represents an integer range. This is an immutable object; |
|
1369
89e1e5d9ccbf
* compile.[ch]: support for lambda()
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
12 a range cannot change its value after creation. |
|
89e1e5d9ccbf
* compile.[ch]: support for lambda()
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
13 |
|
89e1e5d9ccbf
* compile.[ch]: support for lambda()
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
14 Range objects behave like the corresponding tuple objects except that |
|
89e1e5d9ccbf
* compile.[ch]: support for lambda()
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
15 they are represented by a start, stop, and step datamembers. |
|
89e1e5d9ccbf
* compile.[ch]: support for lambda()
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
16 */ |
|
89e1e5d9ccbf
* compile.[ch]: support for lambda()
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
17 |
|
24752
c1eb668525e1
Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents:
18436
diff
changeset
|
18 PyAPI_DATA(PyTypeObject) PyRange_Type; |
|
44061
0cc552ab76bd
Added all PyTypeObjects to the appropriate header files.
Christian Heimes <christian@cheimes.de>
parents:
42334
diff
changeset
|
19 PyAPI_DATA(PyTypeObject) PyRangeIter_Type; |
|
0cc552ab76bd
Added all PyTypeObjects to the appropriate header files.
Christian Heimes <christian@cheimes.de>
parents:
42334
diff
changeset
|
20 PyAPI_DATA(PyTypeObject) PyLongRangeIter_Type; |
|
1369
89e1e5d9ccbf
* compile.[ch]: support for lambda()
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
21 |
|
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:
44061
diff
changeset
|
22 #define PyRange_Check(op) (Py_TYPE(op) == &PyRange_Type) |
|
1369
89e1e5d9ccbf
* compile.[ch]: support for lambda()
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
23 |
|
18039
91619d7df58b
Wrap with extern "C". Fixes bug #428419.
Martin v. Löwis <martin@v.loewis.de>
parents:
14375
diff
changeset
|
24 #ifdef __cplusplus |
|
91619d7df58b
Wrap with extern "C". Fixes bug #428419.
Martin v. Löwis <martin@v.loewis.de>
parents:
14375
diff
changeset
|
25 } |
|
91619d7df58b
Wrap with extern "C". Fixes bug #428419.
Martin v. Löwis <martin@v.loewis.de>
parents:
14375
diff
changeset
|
26 #endif |
|
91619d7df58b
Wrap with extern "C". Fixes bug #428419.
Martin v. Löwis <martin@v.loewis.de>
parents:
14375
diff
changeset
|
27 #endif /* !Py_RANGEOBJECT_H */ |
