Dict.Behaviour

Default implementations for some required functions in the Dict module.

This module makes it easier to create your own Dict compliant module, by providing default implementations for some required functions.

Example

defmodule MyDict do
  use Dict.Behaviour

  # implement required functions (see below)

  # override default implementations if needed
end

The client module must contain the following functions:

All of which are part of the Dict behaviour, so no extra functions are actually required.

Based on these functions, Dict.Behaviour generates default implementations for the following functions:

All of these functions are defined as overridable, so you can provide your own implementation if needed.

Note you can also test your custom module via Dict's doctests:

defmodule MyDict do
  def new(keywords \ []) do
    ...
  end
end

defmodule MyTests do
  use ExUnit.Case
  doctest Dict
  defp dict_impl, do: MyDict
end
Source