本文简要介绍rust语言中 Trait std::hash::BuildHasher
的用法。
用法
pub trait BuildHasher {
type Hasher: Hasher;
fn build_hasher(&self) -> Self::Hasher;
fn hash_one<T>(&self, x: T) -> u64 where T: Hash,
{ ... }
}
用于创建 Hasher
实例的特征。
BuildHasher
通常用于(例如,由 HashMap
)为每个键创建 Hasher
,以便它们彼此独立地散列,因为 Hasher
包含状态。
对于 BuildHasher
的每个实例,由 build_hasher
创建的 Hasher
应该是相同的。也就是说,如果将相同的字节流馈入每个哈希器,也会生成相同的输出。
例子
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());
相关用法
- Rust BuildHasher.build_hasher用法及代码示例
- Rust BuildHasher用法及代码示例
- Rust BuildHasher.hash_one用法及代码示例
- Rust BuildHasherDefault用法及代码示例
- Rust Builder.stack_size用法及代码示例
- Rust Builder.spawn_unchecked用法及代码示例
- Rust Builder用法及代码示例
- Rust Builder.spawn用法及代码示例
- Rust Builder.new用法及代码示例
- Rust Builder.name用法及代码示例
- Rust BufRead.split用法及代码示例
- Rust BufWriter.capacity用法及代码示例
- Rust BufReader.new用法及代码示例
- Rust BufWriter.get_ref用法及代码示例
- Rust BufReader.get_mut用法及代码示例
- Rust BufReader.with_capacity用法及代码示例
- Rust BufWriter.get_mut用法及代码示例
- Rust BufRead.fill_buf用法及代码示例
- Rust BufRead.has_data_left用法及代码示例
- Rust BufRead.read_until用法及代码示例
- Rust BufWriter.into_inner用法及代码示例
- Rust BufRead.read_line用法及代码示例
- Rust BufWriter用法及代码示例
- Rust BufReader.capacity用法及代码示例
- Rust BufWriter.with_capacity用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Trait std::hash::BuildHasher。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。