class ABSTRACT_BACKTRACKING_CUT_POINT

Features exported to ABSTRACT_BACKTRACKING_POOL

Instances of that class are used by the ABSTRACT_BACKTRACKING to record "cut points" data. A cut point is an indication of up to wich alternative are to be removed from the exploration.

Instances of that class are inserted in the continuation path to be retrieved by dynamic cast during calls to cut.

Direct parents

conformant parents

ABSTRACT_BACKTRACKING_SEQUENCE

non-conformant parents

ABSTRACT_BACKTRACKING_GLOBALS

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_CUT_POINT

Return a twin of current from the pool

require

  • pool /= Void

ensure

  • Result.is_equal(Current)

deferred pool: ABSTRACT_BACKTRACKING_POOL[ABSTRACT_BACKTRACKING_CUT_POINT]

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_cut_points: ABSTRACT_BACKTRACKING_POOL_OF_CUT_POINT

Bank of cut points