package msat

  1. Overview
  2. Docs

Module Msat_backtrack.RefSource

Backtrackable ref

Sourcetype 'a t
Sourceval create : ?copy:('a -> 'a) -> 'a -> 'a t

Create a backtrackable reference holding the given value initially.

  • parameter copy

    if provided, will be used to copy the value when push_level is called.

Sourceval set : 'a t -> 'a -> unit

Set the reference's current content

Sourceval get : 'a t -> 'a

Get the reference's current content

Sourceval update : 'a t -> ('a -> 'a) -> unit

Update the reference's current content

Sourceval push_level : _ t -> unit

Push a backtracking level, copying the current value on top of some stack. The copy function will be used if it was provided in create.

Sourceval n_levels : _ t -> int

Number of saved values

Sourceval pop_levels : _ t -> int -> unit

Pop n levels, restoring to the value the reference was storing n calls to push_level earlier.

OCaml

Innovation. Community. Security.