Trait std::hash::BuildHasher1.7.0[][src]

pub trait BuildHasher {
    type Hasher: Hasher;
    pub fn build_hasher(&self) -> Self::Hasher;

A trait for creating instances of Hasher.

A BuildHasher is typically used (e.g., by HashMap) to create Hashers for each key such that they are hashed independently of one another, since Hashers contain state.

For each instance of BuildHasher, the Hashers created by build_hasher should be identical. That is, if the same stream of bytes is fed into each hasher, the same output will also be generated.


use std::collections::hash_map::RandomState;
use std::hash::{BuildHasher, Hasher};

let s = RandomState::new();
let mut hasher_1 = s.build_hasher();
let mut hasher_2 = s.build_hasher();


assert_eq!(hasher_1.finish(), hasher_2.finish());

Associated Types

type Hasher: Hasher[src]

Type of the hasher that will be created.

Loading content...

Required methods

pub fn build_hasher(&self) -> Self::Hasher[src]

Creates a new hasher.

Each call to build_hasher on the same instance should produce identical Hashers.


use std::collections::hash_map::RandomState;
use std::hash::BuildHasher;

let s = RandomState::new();
let new_s = s.build_hasher();
Loading content...


impl BuildHasher for RandomState[src]

impl<H> BuildHasher for BuildHasherDefault<H> where
    H: Default + Hasher

type Hasher = H

Loading content...