class BACKTRACKING_ALTERNATIVE

Features exported to ABSTRACT_BACKTRACKING_POOL

A single node alternative.

Direct parents

conformant parents

ABSTRACT_BACKTRACKING_ALTERNATIVE

non-conformant parents

BACKTRACKING_GLOBALS

Summary

exported features

the pools

Details

previous: ABSTRACT_BACKTRACKING_ALTERNATIVE

For the linked stack of alternatives. Managed by ABSTRACT_BACKTRACKING.

release

Called by ABSTRACT_BACKTRACKING to release current instance to the pool.

require

  • pool /= Void

get_twin: BACKTRACKING_ALTERNATIVE

Return a twin of current from the pool

require

  • pool /= Void

ensure

  • Result.is_equal(Current)

deferred pool: ABSTRACT_BACKTRACKING_POOL[BACKTRACKING_ALTERNATIVE]

The pool that will record Current

set_pool_link (other: ABSTRACT_BACKTRACKING_POOLABLE)

Set 'pool_link' to 'other'

ensure

  • definition: pool_link = other

pool_of_sequence: BACKTRACKING_POOL_OF_SEQUENCE
pool_of_sequence_list: BACKTRACKING_POOL_OF_SEQUENCE_LIST
pool_of_alternative: BACKTRACKING_POOL_OF_ALTERNATIVE
pool_of_alternative_list: BACKTRACKING_POOL_OF_ALTERNATIVE_LIST