class LOOP_STACK

Features exported to INTERNALS_HANDLER

Manage LOOP_ITEM. When new loop is pushed, all jobs in current running loop suspend until the new loop end (all jobs end or break).

Direct parents

non-conformant parents

ANY

Known children

conformant children

VISION_LOOP_STACK

Summary

creation features

exported features

Details

make

ensure

  • current_loop /= Void

stop: BOOLEAN
new_loop

create new empty loop (ie without job) and push it on the stack

push_loop (l: LOOP_ITEM)

l is restarted and pushed on the stack

require

  • l /= Void

ensure

  • current_loop = l

run

run current_loop (ie execute it's jobs)

require

  • current_loop /= Void

ensure

    add_job (j: JOB)

    Add some job to the current loop

    require

    • j /= Void

    break

    Exit current loop

    require

    • current_loop /= Void

    ensure

    • current_loop /= old current_loop

    exit_all

    TODO: Really needed feature ?

    require

    • stop = False

    ensure

    • stop = True

    current_loop: LOOP_ITEM

    TODO: change this function into an attribute to be more efficient