There is no predefined format character for that conversion, but it is trivial to simulate one by inserting Py_True
or Py_False
object into the tuple, as appropriate. For example:
int i = ...;
bool b = ...;
PyObject *tuple_with_bool = Py_BuildValue("Oi", b ? Py_True: Py_False, i);
Another option is to use PyBool_FromLong to do the conversion. In that case, remember to use the N
format to account for PyBool_FromLong
returning a new reference:
PyObject *tuple_with_bool = Py_BuildValue("Ni", PyBool_FromLong(b), i);