Module hashbrown::raw

source ·

Modules

Structs

  • A reference to a hash table bucket containing a T.
  • Global 🔒 Experimental
    The global memory allocator.
  • A reference to an empty bucket into which an can be inserted.
  • ProbeSeq 🔒
    Probe sequence based on triangular numbers, which is guaranteed (since our table size is a power of two) to visit every group of elements exactly once.
  • Iterator which consumes elements without freeing the table storage.
  • Iterator which consumes a table and returns elements.
  • Iterator which returns a raw pointer to every full bucket in the table.
  • Iterator over occupied buckets that could match a given hash.
  • Iterator over a sub-range of a table. Unlike RawIter this iterator does not track an item count.
  • A raw hash table with an unsafe API.
  • Non-generic part of RawTable which allows functions to be instantiated only once regardless of how many different key-value types are used.
  • Helper which allows the max calculation for ctrl_align to be statically computed for each T while keeping the rest of calculate_layout_for independent of T

Enums

  • Whether memory allocation errors should return an error or abort.

Constants

  • DELETED 🔒
    Control byte value for a deleted bucket.
  • EMPTY 🔒
    Control byte value for an empty bucket.

Traits

  • Allocator 🔒 Experimental
    An implementation of Allocator can allocate, grow, shrink, and deallocate arbitrary blocks of data described via Layout.
  • Specialization of clone_from for Copy types

Functions

  • Returns the maximum effective capacity for the given bucket mask, taking the maximum load factor into account.
  • Returns the number of buckets needed to hold the given number of items, taking the maximum load factor into account.
  • h1 🔒
    Primary hash function, used to select the initial bucket to probe from.
  • h2 🔒
    Secondary hash function, saved in the low 7 bits of the control byte.
  • is_full 🔒
    Checks whether a control byte represents a full bucket (top bit is clear).
  • is_special 🔒
    Checks whether a control byte represents a special value (top bit is set).
  • offset_from 🔒
  • Checks whether a special control value is EMPTY (just check 1 bit).