# Trait ahash::CallHasher

source · [−]

    pub trait CallHasher {
        fn get_hash<H: Hash + ?Sized, B: BuildHasher>(
            value: &H,
            build_hasher: &B
        ) -> u64;
    }

Expand description

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: u32 = 17;
    let hash = u32::get_hash(&value, &hash_builder);

Note that the type used to invoke `get_hash` must be the same a the type of value passed. For example get a hasher specialized on `[u8]` can invoke:

    /// use std::hash::BuildHasher;
    let bytes: [u8; 4] = [1, 2, 3, 4];
    let hash = <[u8]>::get_hash(&bytes, &hash_builder);

## Required Methods

source

#### fn get_hash<H: Hash + ?Sized, B: BuildHasher>(value: &H, build_hasher: &B) -> u64

## Implementors

source

### impl<T> CallHasher for T where
T: Hash + ?Sized,