Trait ahash::CallHasher [−][src]
pub trait CallHasher { fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64; }
Provides a way to get an optimized hasher for a given data type. Rather than using a Hasher generically which can hash any value, this provides a way to get a specialized hash for a specific type. So this may be faster for primitive types.
Example
use std::hash::BuildHasher; use ahash::RandomState; use ahash::CallHasher; let hash_builder = RandomState::new(); //... let value = 17; let hash = u32::get_hash(&value, &hash_builder);
Required methods
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
Implementations on Foreign Types
impl CallHasher for Vec<u8>
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for String
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
Implementors
impl CallHasher for [u8]
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for i8
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for i16
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for i32
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for i64
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for i128
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for isize
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for str
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for u8
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for u16
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for u32
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for u64
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for u128
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl CallHasher for usize
[src]
fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64
impl<T: ?Sized> CallHasher for T where
T: Hash,
[src]
T: Hash,
default fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
value: &H,
build_hasher: &B
) -> u64
[src]
value: &H,
build_hasher: &B
) -> u64