Ruler.State.RefMap (Ruler v0.1.0) View Source

Link to this section Summary

Link to this section Types

Specs

index() :: non_neg_integer()

Specs

ref(tag) :: {tag, index()}

Specs

t(tag, val) :: %Ruler.State.RefMap{
  storage: %{required(ref(tag)) => val},
  tag: tag,
  unused_keys: [ref(tag)]
}

Link to this section Functions

Specs

fetch!(t(tag, val), ref(tag)) :: val when tag: atom(), val: var

Specs

get(t(tag, val), ref(tag)) :: val | nil when tag: atom(), val: var

Specs

insert(t(tag, val), val) :: {t(tag, val), ref(tag)} when tag: atom(), val: var

Specs

keys(t(tag, any())) :: [ref(tag)] when tag: atom()

Specs

new(tag) :: t(tag, any()) when tag: atom()

Specs

new(tag, val) :: t(tag, val) when tag: atom(), val: var

Specs

remove(t(tag, val), ref(tag)) :: t(tag, val) when tag: atom()
Link to this function

update!(refmap, ref, fun)

View Source

Specs

update!(t(tag, val), ref(tag), (val -> val)) :: t(tag, val)
when tag: atom(), val: var
Link to this function

update_and_fetch!(refmap, ref, fun)

View Source

Specs

update_and_fetch!(t(tag, val), ref(tag), (val -> val)) :: {t(tag, val), val}
when tag: atom(), val: var