Availability:C-language interface function
(return) foreign_t PL_yield_address(void
*)Cause PL_next_solution()
of the active query to return with
PL_S_YIELD
. A subsequent call to PL_next_solution()
on the same query calls the foreign predicate again with the control
status set to
PL_RESUME
, after which PL_foreign_context_address()
retrieves the address passed to this function. The state of the Prolog
engine is maintained, including term_t
handles. If the
passed address needs to be invalidated the predicate must do so when
returning either
TRUE
or FALSE
. If the engine terminates the
predicate the predicate is called with status PL_PRUNED
, in
which case the predicate must cleanup.