Struct std::hash::BuildHasherDefault 1.7.0
[−]
[src]
pub struct BuildHasherDefault<H>(_);
Used to create a default BuildHasher instance for types that implement
Hasher and Default.
BuildHasherDefault<H> can be used when a type H implements Hasher and
Default, and you need a corresponding BuildHasher instance, but none is
defined.
Any BuildHasherDefault is zero-sized. It can be created with
default. When using BuildHasherDefault with HashMap or
HashSet, this doesn't need to be done, since they implement appropriate
Default instances themselves.
Examples
Using BuildHasherDefault to specify a custom BuildHasher for
HashMap:
use std::collections::HashMap; use std::hash::{BuildHasherDefault, Hasher}; #[derive(Default)] struct MyHasher; impl Hasher for MyHasher { fn write(&mut self, bytes: &[u8]) { // Your hashing algorithm goes here! unimplemented!() } fn finish(&self) -> u64 { // Your hashing algorithm goes here! unimplemented!() } } type MyBuildHasher = BuildHasherDefault<MyHasher>; let hash_map = HashMap::<u32, u32, MyBuildHasher>::default();Run
Trait Implementations
impl<H> Clone for BuildHasherDefault<H>[src]
fn clone(&self) -> BuildHasherDefault<H>[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl<H> Debug for BuildHasherDefault<H>1.9.0[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
Formats the value using the given formatter. Read more
impl<H> BuildHasher for BuildHasherDefault<H> where
H: Default + Hasher, [src]
H: Default + Hasher,
type Hasher = H
Type of the hasher that will be created.
fn build_hasher(&self) -> H[src]
Creates a new hasher. Read more
impl<H> Default for BuildHasherDefault<H>[src]
fn default() -> BuildHasherDefault<H>[src]
Returns the "default value" for a type. Read more