Struct std::hash::BuildHasherDefault
1.7.0 · source · 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();
RunTrait Implementations§
source§impl<H> BuildHasher for BuildHasherDefault<H>where
H: Default + Hasher,
impl<H> BuildHasher for BuildHasherDefault<H>where H: Default + Hasher,
source§impl<H> Clone for BuildHasherDefault<H>
impl<H> Clone for BuildHasherDefault<H>
source§fn clone(&self) -> BuildHasherDefault<H>
fn clone(&self) -> BuildHasherDefault<H>
返回值的副本。 Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
从
source
执行复制分配。 Read more1.9.0 · source§impl<H> Debug for BuildHasherDefault<H>
impl<H> Debug for BuildHasherDefault<H>
source§impl<H> Default for BuildHasherDefault<H>
impl<H> Default for BuildHasherDefault<H>
source§fn default() -> BuildHasherDefault<H>
fn default() -> BuildHasherDefault<H>
返回类型的 “默认值”。 Read more
1.29.0 · source§impl<H> PartialEq<BuildHasherDefault<H>> for BuildHasherDefault<H>
impl<H> PartialEq<BuildHasherDefault<H>> for BuildHasherDefault<H>
impl<H> Eq for BuildHasherDefault<H>
Auto Trait Implementations§
impl<H> RefUnwindSafe for BuildHasherDefault<H>
impl<H> Send for BuildHasherDefault<H>
impl<H> Sync for BuildHasherDefault<H>
impl<H> Unpin for BuildHasherDefault<H>
impl<H> UnwindSafe for BuildHasherDefault<H>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
从拥有的值中借用。 Read more