summaryrefslogtreecommitdiffstats
path: root/Include/boolobject.h
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2021-04-10 22:17:39 (GMT)
committerGitHub <noreply@github.com>2021-04-10 22:17:39 (GMT)
commit09bbebea163fe7303264cf4069c51d4d2f22fde4 (patch)
treeaf9449e38983bab8ebf5a667c149cb0d33e05543 /Include/boolobject.h
parent6e468cb16bde483ad73c1eb13b20a08d74e30846 (diff)
downloadcpython-09bbebea163fe7303264cf4069c51d4d2f22fde4.zip
cpython-09bbebea163fe7303264cf4069c51d4d2f22fde4.tar.gz
cpython-09bbebea163fe7303264cf4069c51d4d2f22fde4.tar.bz2
bpo-43753: Add Py_Is() and Py_IsNone() functions (GH-25227)
Add the Py_Is(x, y) function to test if the 'x' object is the 'y' object, the same as "x is y" in Python. Add also the Py_IsNone(), Py_IsTrue(), Py_IsFalse() functions to test if an object is, respectively, the None singleton, the True singleton or the False singleton.
Diffstat (limited to 'Include/boolobject.h')
-rw-r--r--Include/boolobject.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/Include/boolobject.h b/Include/boolobject.h
index 6673d72..e1c8699 100644
--- a/Include/boolobject.h
+++ b/Include/boolobject.h
@@ -21,6 +21,14 @@ PyAPI_DATA(struct _longobject) _Py_FalseStruct, _Py_TrueStruct;
#define Py_False ((PyObject *) &_Py_FalseStruct)
#define Py_True ((PyObject *) &_Py_TrueStruct)
+// Test if an object is the True singleton, the same as "x is True" in Python.
+PyAPI_FUNC(int) Py_IsTrue(PyObject *x);
+#define Py_IsTrue(x) Py_Is((x), Py_True)
+
+// Test if an object is the False singleton, the same as "x is False" in Python.
+PyAPI_FUNC(int) Py_IsFalse(PyObject *x);
+#define Py_IsFalse(x) Py_Is((x), Py_False)
+
/* Macros for returning Py_True or Py_False, respectively */
#define Py_RETURN_TRUE return Py_NewRef(Py_True)
#define Py_RETURN_FALSE return Py_NewRef(Py_False)