class BACKTRACKING_SEQUENCE_LIST
Summary
A sequence of a list of nodes.
Direct parents
Inherit list: ABSTRACT_BACKTRACKING_SEQUENCE
Insert list: BACKTRACKING_GLOBALS
Overview
Features
{ABSTRACT_BACKTRACKING}
{ABSTRACT_BACKTRACKING}
{ABSTRACT_BACKTRACKING_POOL, ABSTRACT_BACKTRACKING}
{ABSTRACT_BACKTRACKING}
{ANY}
  • release
    Called by ABSTRACT_BACKTRACKING to release current instance to the pool.
  • get_twin: BACKTRACKING_SEQUENCE_LIST
    Return a twin of current from the pool
  • pool: ABSTRACT_BACKTRACKING_POOL[BACKTRACKING_SEQUENCE_LIST]
    The pool that will record Current
{ABSTRACT_BACKTRACKING_POOL}
the pools
{ANY}
Iterator on the next item of the list.
set_list (value: BACKTRACKING_NODE_AND_LIST)
effective procedure
require
  • value_not_void: value /= Void
ensure
  • definition: list = value
  • list_not_void: list /= Void
next_sequence (explorer: BACKTRACKING)
effective procedure
Called by ABSTRACT_BACKTRACKING to let the current object switch to the next state to explore.
Two actions must be performed by that feature:
  - make iteration actions and then call
     'pop_sequence' if this is the last state
     to be explored.
  - select the state to be evaluated or
     call 'continue' or call 'backtrack'.
require
  • is_on_top: Current = explorer.top_sequence
For the linked stack of sequences.
Managed by ABSTRACT_BACKTRACKING.
writable attribute
The sequence to continue after a success in exploration of the current sequence.
Managed by ABSTRACT_BACKTRACKING.
set_continuation (value: ABSTRACT_BACKTRACKING_SEQUENCE)
effective procedure
ensure
release
effective procedure
{ANY}
Called by ABSTRACT_BACKTRACKING to release current instance to the pool.
require
get_twin: BACKTRACKING_SEQUENCE_LIST
effective function
{ANY}
Return a twin of current from the pool
require ensure
pool: ABSTRACT_BACKTRACKING_POOL[BACKTRACKING_SEQUENCE_LIST]
deferred function
{ANY}
The pool that will record Current
Internal link used by the pool to chain its poolable items.
Technical note: to give more freedom for further usages of 'pool_link' it is not defined with type anchorage.
set_pool_link (other: ABSTRACT_BACKTRACKING_POOLABLE)
effective procedure
Set 'pool_link' to 'other'
ensure
once function
{ANY}
pool_of_sequence_list: BACKTRACKING_POOL_OF_SEQUENCE_LIST
once function
{ANY}
pool_of_alternative: BACKTRACKING_POOL_OF_ALTERNATIVE
once function
{ANY}
pool_of_alternative_list: BACKTRACKING_POOL_OF_ALTERNATIVE_LIST
once function
{ANY}