deferred class ABSTRACT_BACKTRACKING_SEQUENCE

Features exported to ABSTRACT_BACKTRACKING_POOL

Abstract realisation of a sequence iterator for the ABSTRACT_BACKTRACKING

The ABSTRACT_BACKTRACKING uses the fields continuation to record the continuation path and calls the feature 'next_sequence' to let the current object choose how to continue the exploration.

Direct parents

conformant parents

ABSTRACT_BACKTRACKING_POOLABLE

Known children

conformant children

ABSTRACT_BACKTRACKING_CUT_POINT, BACKTRACKING_SEQUENCE, BACKTRACKING_SEQUENCE_LIST

Summary

exported features

Details

previous: ABSTRACT_BACKTRACKING_SEQUENCE

For the linked stack of sequences. Managed by ABSTRACT_BACKTRACKING.

release

Called by ABSTRACT_BACKTRACKING to release current instance to the pool.

require

  • pool /= Void

get_twin: ABSTRACT_BACKTRACKING_SEQUENCE

Return a twin of current from the pool

require

  • pool /= Void

ensure

  • Result.is_equal(Current)

deferred pool: ABSTRACT_BACKTRACKING_POOL[ABSTRACT_BACKTRACKING_SEQUENCE]

The pool that will record Current

set_pool_link (other: ABSTRACT_BACKTRACKING_POOLABLE)

Set 'pool_link' to 'other'

ensure

  • definition: pool_link = other