deferred class ABSTRACT_BACKTRACKING_ALTERNATIVE
Summary
Abstract realisation of an alternative iterator for the ABSTRACT_BACKTRACKING
The ABSTRACT_BACKTRACKING uses the fields continuation and top_sequence to record its exploration state and calls the feature 'next_alternative' to let the current object choose how to continue the exploration.
Direct parents
Inherit list: ABSTRACT_BACKTRACKING_POOLABLE
Known children
Inherit list: BACKTRACKING_ALTERNATIVE, BACKTRACKING_ALTERNATIVE_LIST
Overview
Features
{ABSTRACT_BACKTRACKING_POOL, ABSTRACT_BACKTRACKING}
  • previous: ABSTRACT_BACKTRACKING_ALTERNATIVE
    For the linked stack of alternatives.
{ABSTRACT_BACKTRACKING}
{ANY}
  • release
    Called by ABSTRACT_BACKTRACKING to release current instance to the pool.
  • get_twin: ABSTRACT_BACKTRACKING_ALTERNATIVE
    Return a twin of current from the pool
  • pool: ABSTRACT_BACKTRACKING_POOL[ABSTRACT_BACKTRACKING_ALTERNATIVE]
    The pool that will record Current
{ABSTRACT_BACKTRACKING_POOL}
previous: ABSTRACT_BACKTRACKING_ALTERNATIVE
writable attribute
For the linked stack of alternatives.
writable attribute
The sequence to continue after a success in exploration of the current alternative.
set_continuation (value: ABSTRACT_BACKTRACKING_SEQUENCE)
effective procedure
writable attribute
Record of the top of the stack of sequence to restore the state of the exploration after that all alternatives were explored.
set_top_sequence (value: ABSTRACT_BACKTRACKING_SEQUENCE)
effective procedure
next_alternative (explorer: ABSTRACT_BACKTRACKING)
deferred procedure
Called by ABSTRACT_BACKTRACKING to let the current object switch to the next alternative to explore.
release
effective procedure
{ANY}
Called by ABSTRACT_BACKTRACKING to release current instance to the pool.
get_twin: ABSTRACT_BACKTRACKING_ALTERNATIVE
effective function
{ANY}
Return a twin of current from the pool
pool: ABSTRACT_BACKTRACKING_POOL[ABSTRACT_BACKTRACKING_ALTERNATIVE]
deferred function
{ANY}
The pool that will record Current
Internal link used by the pool to chain its poolable items.
set_pool_link (other: ABSTRACT_BACKTRACKING_POOLABLE)
effective procedure
Set 'pool_link' to 'other'