Cuckoo v1.0.1 Cuckoo.Bucket

This module implements a Bucket.

Summary

Functions

Returns true if the bucket contains the element, otherwise returns false

Tries to find the given element in the bucket

Returns the element at the specified index

Checks if the bucket has any room left

Creates a new bucket with the given size n

Resets the entry index to the default value

Sets the entry index to element

Types

t()
t() :: :array.array

Functions

contains?(bucket, element)
contains?(t, pos_integer) :: boolean

Returns true if the bucket contains the element, otherwise returns false.

find(bucket, element)
find(t, pos_integer) ::
  {:ok, non_neg_integer} |
  {:error, :inexistent}

Tries to find the given element in the bucket.

Returns {:ok, index} if it finds it, otherwise returns {:error, :inexistent}.

get(bucket, index)
get(t, non_neg_integer) :: pos_integer

Returns the element at the specified index.

has_room?(bucket)
has_room?(t) :: {:ok, pos_integer} | {:error, :full}

Checks if the bucket has any room left.

Returns { :ok, index } if it finds an empty entry in the bucket, otherwise returns { :error, :full }.

new(n)
new(pos_integer) :: t

Creates a new bucket with the given size n.

reset(bucket, index)
reset(t, non_neg_integer) :: t

Resets the entry index to the default value.

Returns the updated bucket.

set(bucket, index, element)
set(t, non_neg_integer, pos_integer) :: t

Sets the entry index to element.

Returns the updated bucket.