annotate Include/boolobject.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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22787
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 /* Boolean object interface */
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
2
22861
a6527d1ee474 Add standard header preamble and footer, a-la intobject.h. Main purpose is extern "C" for C++ programs.
Mark Hammond <mhammond@skippinet.com.au>
parents: 22787
diff changeset
3 #ifndef Py_BOOLOBJECT_H
a6527d1ee474 Add standard header preamble and footer, a-la intobject.h. Main purpose is extern "C" for C++ programs.
Mark Hammond <mhammond@skippinet.com.au>
parents: 22787
diff changeset
4 #define Py_BOOLOBJECT_H
a6527d1ee474 Add standard header preamble and footer, a-la intobject.h. Main purpose is extern "C" for C++ programs.
Mark Hammond <mhammond@skippinet.com.au>
parents: 22787
diff changeset
5 #ifdef __cplusplus
a6527d1ee474 Add standard header preamble and footer, a-la intobject.h. Main purpose is extern "C" for C++ programs.
Mark Hammond <mhammond@skippinet.com.au>
parents: 22787
diff changeset
6 extern "C" {
a6527d1ee474 Add standard header preamble and footer, a-la intobject.h. Main purpose is extern "C" for C++ programs.
Mark Hammond <mhammond@skippinet.com.au>
parents: 22787
diff changeset
7 #endif
a6527d1ee474 Add standard header preamble and footer, a-la intobject.h. Main purpose is extern "C" for C++ programs.
Mark Hammond <mhammond@skippinet.com.au>
parents: 22787
diff changeset
8
a6527d1ee474 Add standard header preamble and footer, a-la intobject.h. Main purpose is extern "C" for C++ programs.
Mark Hammond <mhammond@skippinet.com.au>
parents: 22787
diff changeset
9
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 23364
diff changeset
10 PyAPI_DATA(PyTypeObject) PyBool_Type;
22787
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
11
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: 42334
diff changeset
12 #define PyBool_Check(x) (Py_TYPE(x) == &PyBool_Type)
22787
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
13
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 /* Py_False and Py_True are the only two bools in existence.
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 Don't forget to apply Py_INCREF() when returning either!!! */
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
16
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 /* Don't use these directly */
40626
4aee3f672f77 Merged the int/long unification branch, by very crude means (sorry Thomas!).
Guido van Rossum <guido@python.org>
parents: 32793
diff changeset
18 PyAPI_DATA(struct _longobject) _Py_FalseStruct, _Py_TrueStruct;
22787
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
19
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 /* Use these macros */
40626
4aee3f672f77 Merged the int/long unification branch, by very crude means (sorry Thomas!).
Guido van Rossum <guido@python.org>
parents: 32793
diff changeset
21 #define Py_False ((PyObject *) &_Py_FalseStruct)
22787
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
22 #define Py_True ((PyObject *) &_Py_TrueStruct)
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
23
30719
7dfdf9e8d95d Defined macros Py_RETURN_(TRUE|FALSE|NONE) as helper functions for returning
Brett Cannon <bcannon@gmail.com>
parents: 24752
diff changeset
24 /* Macros for returning Py_True or Py_False, respectively */
32793
1e2187f50631 SF bug 994255: Py_RETURN_NONE causes too much warnings
Tim Peters <tim.peters@gmail.com>
parents: 30721
diff changeset
25 #define Py_RETURN_TRUE return Py_INCREF(Py_True), Py_True
1e2187f50631 SF bug 994255: Py_RETURN_NONE causes too much warnings
Tim Peters <tim.peters@gmail.com>
parents: 30721
diff changeset
26 #define Py_RETURN_FALSE return Py_INCREF(Py_False), Py_False
30719
7dfdf9e8d95d Defined macros Py_RETURN_(TRUE|FALSE|NONE) as helper functions for returning
Brett Cannon <bcannon@gmail.com>
parents: 24752
diff changeset
27
22787
028ebc8fb390 Oops. Here are the new files. My apologies.
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 /* Function to return a bool from a C long */
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 23364
diff changeset
29 PyAPI_FUNC(PyObject *) PyBool_FromLong(long);
22861
a6527d1ee474 Add standard header preamble and footer, a-la intobject.h. Main purpose is extern "C" for C++ programs.
Mark Hammond <mhammond@skippinet.com.au>
parents: 22787
diff changeset
30
a6527d1ee474 Add standard header preamble and footer, a-la intobject.h. Main purpose is extern "C" for C++ programs.
Mark Hammond <mhammond@skippinet.com.au>
parents: 22787
diff changeset
31 #ifdef __cplusplus
a6527d1ee474 Add standard header preamble and footer, a-la intobject.h. Main purpose is extern "C" for C++ programs.
Mark Hammond <mhammond@skippinet.com.au>
parents: 22787
diff changeset
32 }
a6527d1ee474 Add standard header preamble and footer, a-la intobject.h. Main purpose is extern "C" for C++ programs.
Mark Hammond <mhammond@skippinet.com.au>
parents: 22787
diff changeset
33 #endif
a6527d1ee474 Add standard header preamble and footer, a-la intobject.h. Main purpose is extern "C" for C++ programs.
Mark Hammond <mhammond@skippinet.com.au>
parents: 22787
diff changeset
34 #endif /* !Py_BOOLOBJECT_H */