defmodule CPSolver.IntVariable do
use CPSolver.Variable
alias CPSolver.Variable
defdelegate domain(var), to: Variable
defdelegate size(var), to: Variable
defdelegate min(var), to: Variable
defdelegate max(var), to: Variable
defdelegate fixed?(var), to: Variable
defdelegate contains?(var, val), to: Variable
defdelegate remove(var, val), to: Variable
defdelegate removeAbove(var, val), to: Variable
defdelegate removeBelow(var, val), to: Variable
defdelegate fix(var, val), to: Variable
def to_variable(arg) do
(is_integer(arg) && new(arg)) || arg
end
end