Trait std::collections::hash_state::HashState [] [src]

pub trait HashState {
    type Hasher: Hasher;
    fn hasher(&self) -> Self::Hasher;
}

A trait representing stateful hashes which can be used to hash keys in a HashMap.

A HashState is used as a factory for instances of Hasher which a HashMap can then use to hash keys independently. A HashMap by default uses a state which will create instances of a SipHasher, but a custom state factory can be provided to the with_hash_state function.

If a hashing algorithm has no initial state, then the Hasher type for that algorithm can implement the Default trait and create hash maps with the DefaultState structure. This state is 0-sized and will simply delegate to Default when asked to create a hasher.

Associated Types

type Hasher: Hasher

Type of the hasher that will be created.

Required Methods

fn hasher(&self) -> Self::Hasher

Creates a new hasher based on the given state of this object.

Implementors