Struct core::hash::BuildHasherDefault 1.7.0[−][src]
pub struct BuildHasherDefault<H>(_);Expand description
用于为实现 Hasher 和 Default 的类型创建默认的 BuildHasher 实例。
BuildHasherDefault<H> 可以在类型 H 实现 Hasher 和 Default 时使用,并且您需要相应的 BuildHasher 实例,但没有定义。
任何 BuildHasherDefault 都是 零大小。可以用 default 创建。
当将 BuildHasherDefault 与 HashMap 或 HashSet 一起使用时,不需要这样做,因为它们自己实现了适当的 Default 实例。
Examples
使用 BuildHasherDefault 指定用于的自定义 BuildHasher
HashMap:
use std::collections::HashMap;
use std::hash::{BuildHasherDefault, Hasher};
#[derive(Default)]
struct MyHasher;
impl Hasher for MyHasher {
fn write(&mut self, bytes: &[u8]) {
// 您的哈希算法就在这里!
unimplemented!()
}
fn finish(&self) -> u64 {
// 您的哈希算法就在这里!
unimplemented!()
}
}
type MyBuildHasher = BuildHasherDefault<MyHasher>;
let hash_map = HashMap::<u32, u32, MyBuildHasher>::default();Run