Trait core::hash::BuildHasher 1.7.0[−][src]
pub trait BuildHasher { type Hasher: Hasher; fn build_hasher(&self) -> Self::Hasher; }
A trait for creating instances of Hasher
.
A BuildHasher
is typically used (e.g. by HashMap
) to create
Hasher
s for each key such that they are hashed independently of one
another, since Hasher
s contain state.
For each instance of BuildHasher
, the Hasher
s 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.
Examples
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(); hasher_1.write_u32(8128); hasher_2.write_u32(8128); assert_eq!(hasher_1.finish(), hasher_2.finish());Run
Associated Types
Required Methods
fn build_hasher(&self) -> Self::Hasher
Implementors
impl<H: Default + Hasher> BuildHasher for BuildHasherDefault<H> type Hasher = H;