Trait ahash::CallHasher[][src]

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 = 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]

Implementations on Foreign Types

impl CallHasher for u8[src]

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

impl CallHasher for u16[src]

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

impl CallHasher for u32[src]

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

impl CallHasher for u64[src]

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

impl CallHasher for i8[src]

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

impl CallHasher for i16[src]

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

impl CallHasher for i32[src]

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

impl CallHasher for i64[src]

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

impl CallHasher for u128[src]

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

impl CallHasher for i128[src]

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

impl CallHasher for usize[src]

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

impl CallHasher for isize[src]

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

impl CallHasher for [u8][src]

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

impl CallHasher for Vec<u8>[src]

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

impl CallHasher for str[src]

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

impl CallHasher for String[src]

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

Implementors

impl<T: ?Sized> CallHasher for T where
    T: Hash
[src]

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