In addition to the functions described in
section 12.4.3.2,
there is a family of functions that is used for automatic generation of
wrapper functions, for example using the Prolog library library(qpforeign)
that provides a Quintus/SICStus compatible foreign language interface.
The PL_cvt_i_*() family of functions is suitable for use with a
_Generic selector or C++ overloading.216_Generic
needs to take into account that there's no bool type in C
but there is in C++. An overloaded integer() method is provided in the
C++ interface.
Note that the documentation on this API is incomplete. Also note that many of these functions are equivalent to the PL_get_*_ex() functions described in section 12.4.6.
int because C has no bool type. The return
value is either 0 or 1.FALSE if the conversion is
impossible because the Prolog term is not an integer or the C type
cannot represent the value of the Prolog integer.