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
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.
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
Loading content...Required methods
fn build_hasher(&self) -> Self::Hasher[src]
Implementors
impl<H: Default + Hasher> BuildHasher for BuildHasherDefault<H>[src]
impl<H: Default + Hasher> BuildHasher for BuildHasherDefault<H>[src]