CPSolver.ConstraintStore behaviour (Fixpoint v0.12.6)

Constraint store is a key-value store, where key is a variable id, and value is a implementation-dependent structure that allows to update and keep track of variables' domains.

Link to this section Summary

Link to this section Types

Link to this type

get_operation()

Specs

get_operation() :: CPSolver.Common.domain_get_operation() | nil
Link to this type

update_operation()

Specs

update_operation() :: CPSolver.Common.domain_update_operation()

Link to this section Callbacks

Link to this callback

create(variables, opts)

Specs

create(variables :: Enum.t(), opts :: Keyword.t()) ::
  {:ok, any()} | {:error, any()}
Link to this callback

dispose(store, variables)

Specs

dispose(store :: any(), variables :: [CPSolver.Variable.t()]) ::
  :ok | :not_found
Link to this callback

domain(store, variable)

Specs

domain(store :: any(), variable :: CPSolver.Variable.t()) ::
  {:ok, any()} | {:error, any()}
Link to this callback

get(store, variable, get_operation, list)

Specs

get(store :: any(), variable :: CPSolver.Variable.t(), get_operation(), [any()]) ::
  {:ok, any()} | {:error, any()}
Link to this callback

on_change( store, variable, change )

Specs

on_change(
  store :: any(),
  variable :: CPSolver.Variable.t(),
  change :: CPSolver.Common.domain_change()
) :: any()
Link to this callback

on_fail(store, variable)

Specs

on_fail(store :: any(), variable :: CPSolver.Variable.t()) :: any()
Link to this callback

on_fix(store, variable, value)

Specs

on_fix(store :: any(), variable :: CPSolver.Variable.t(), value :: any()) ::
  any()
Link to this callback

on_no_change(store, variable)

Specs

on_no_change(store :: any(), variable :: CPSolver.Variable.t()) :: any()
Link to this callback

update(store, variable, update_operation, list)

Specs

update(store :: any(), variable :: CPSolver.Variable.t(), update_operation(), [
  any()
]) :: any()
Link to this callback

update_domain(store, variable, update_operation, list)

Specs

update_domain(
  store :: any(),
  variable :: CPSolver.Variable.t(),
  update_operation(),
  [any()]
) ::
  any()

Link to this section Functions

Link to this function

create_store(variables, opts \\ [])

Link to this function

default_store()

Link to this function

default_store_opts()

Link to this function

dispose(store, variables)

Link to this function

domain(variable)

Link to this function

domain(store, variable)

Link to this function

get(store, variable, operation, args \\ [])

Link to this function

update(store, variable, operation, args \\ [])