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]
impl<H> Clone for BuildHasherDefault<H>fn clone(&self) -> BuildHasherDefault<H>[src]
fn clone(&self) -> BuildHasherDefault<H>Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl<H> Debug for BuildHasherDefault<H>1.9.0[src]
impl<H> Debug for BuildHasherDefault<H>fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>Formats the value using the given formatter. Read more
impl<H> Eq for BuildHasherDefault<H>1.29.0[src]
impl<H> Eq for BuildHasherDefault<H>impl<H> PartialEq<BuildHasherDefault<H>> for BuildHasherDefault<H>1.29.0[src]
impl<H> PartialEq<BuildHasherDefault<H>> for BuildHasherDefault<H>fn eq(&self, _other: &BuildHasherDefault<H>) -> bool[src]
fn eq(&self, _other: &BuildHasherDefault<H>) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> boolThis method tests for !=.
impl<H> Default for BuildHasherDefault<H>[src]
impl<H> Default for BuildHasherDefault<H>fn default() -> BuildHasherDefault<H>[src]
fn default() -> BuildHasherDefault<H>Returns the "default value" for a type. Read more
impl<H> BuildHasher for BuildHasherDefault<H> where
H: Default + Hasher, [src]
impl<H> BuildHasher for BuildHasherDefault<H> where
H: Default + Hasher, type Hasher = H
Type of the hasher that will be created.
fn build_hasher(&self) -> H[src]
fn build_hasher(&self) -> HCreates a new hasher. Read more
Auto Trait Implementations
impl<H> Send for BuildHasherDefault<H> where
H: Send,
impl<H> Send for BuildHasherDefault<H> where
H: Send, impl<H> Sync for BuildHasherDefault<H> where
H: Sync,
impl<H> Sync for BuildHasherDefault<H> where
H: Sync,