summaryrefslogtreecommitdiffstats
path: root/Doc/c-api/bool.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/c-api/bool.rst')
-rw-r--r--Doc/c-api/bool.rst46
1 files changed, 46 insertions, 0 deletions
diff --git a/Doc/c-api/bool.rst b/Doc/c-api/bool.rst
new file mode 100644
index 0000000..4479bc6
--- /dev/null
+++ b/Doc/c-api/bool.rst
@@ -0,0 +1,46 @@
+.. highlightlang:: c
+
+.. _boolobjects:
+
+Boolean Objects
+---------------
+
+Booleans in Python are implemented as a subclass of integers. There are only
+two booleans, :const:`Py_False` and :const:`Py_True`. As such, the normal
+creation and deletion functions don't apply to booleans. The following macros
+are available, however.
+
+
+.. cfunction:: int PyBool_Check(PyObject *o)
+
+ Return true if *o* is of type :cdata:`PyBool_Type`.
+
+
+.. cvar:: PyObject* Py_False
+
+ The Python ``False`` object. This object has no methods. It needs to be
+ treated just like any other object with respect to reference counts.
+
+
+.. cvar:: PyObject* Py_True
+
+ The Python ``True`` object. This object has no methods. It needs to be treated
+ just like any other object with respect to reference counts.
+
+
+.. cmacro:: Py_RETURN_FALSE
+
+ Return :const:`Py_False` from a function, properly incrementing its reference
+ count.
+
+
+.. cmacro:: Py_RETURN_TRUE
+
+ Return :const:`Py_True` from a function, properly incrementing its reference
+ count.
+
+
+.. cfunction:: PyObject* PyBool_FromLong(long v)
+
+ Return a new reference to :const:`Py_True` or :const:`Py_False` depending on the
+ truth value of *v*.