
events_after(++Events)

      Set up a series of after events Events. 



Arguments
   Events              A list of the form Event-Time or Event-every(Time)

Type
   Event Handling

Description
   Events is a list of after events where each element of the list
   specifies one after event. Each element is either in the form of
   EventName-Time or EventName-every(Time) where the first form is
   equivalent to event_after(EventName, Time) and the second to
   event_after_every(EventName, Time). The difference between using
   a single events_after/1 and multiple calls to event_after/2, 
   event_after/3 and event_after_every/2 to set up a series of after 
   events is that with events_after/1, all the events are set up as a 
   unit, and it is guaranteed that the relative orderings between the 
   events are preserved, and that no after events will be raised until
   all the specified events have been set up.

   The main use of events_after/1 is for restart event that have been
   cancelled previously with cancel_after_event/2.

   See event_after/2, event_after/3 or event_after_every/2 for more details
   on after events.


Modes and Determinism
   events_after(++) is det

Exceptions
     4 --- Events is not instantiated.
     5 --- Events is not a list of after events of the form Event-Time or Event-every(Time), where Event is an atom or a handle and Time is a positive (non-breal) number.

Examples
   
    % set event handlers to write the event name
    ?- set_event_handler(e1, writeln/1),
    	set_event_handler(e2, writeln/1).
    Yes (0.00s cpu)

    ?- events_after([e1-every(0.2), e2-0.5]),
    	repeat,fail.
    e1
    e1
    e2
    e1
    e1
    e1
    ^C
    interruption: type a, b, c, e, or h for help : ? a
    abort
    Aborting execution ...
    Abort

    % cancel further e1 events
    ?- cancel_after_event(e1, Cancelled).
    Cancelled = [e1 - every(0.2)]
    Yes (0.00s cpu)

    % e2 was already raised, nothing to cancel
    ?- cancel_after_event(e2, Cancelled).
    Cancelled = []
    Yes (0.00s cpu)

    % restart the cancelled events
    ?- events_after([e1 - every(0.2)]),
	    repeat, fail.
    e1
    e1
    e1
    e1
    ...


See Also
   event_after / 2, event_after / 3, event_after_every / 2, cancel_after_event / 2, events_after / 1, event / 1, set_event_handler / 2, current_after_events / 1, event_create / 3, event_retrieve / 3, get_flag / 2
