Packages

A `:queue` wrapper with improvements in API and addition of Protocol implementations

Current section

Files

Jump to
qex lib impls enumerable.ex
Raw

lib/impls/enumerable.ex

defimpl Enumerable, for: Qex do
def count(%Qex{data: q}), do: {:ok, :queue.len(q)}
def member?(%Qex{data: q}, item) do
{:ok, :queue.member(item, q)}
end
def reduce(%Qex{data: q}, acc, fun) do
Enumerable.List.reduce(:queue.to_list(q), acc, fun)
end
def slice(%Qex{data: q}), do: {:error, __MODULE__}
end