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.