pub struct RapidHasher(/* private fields */);
Expand description
A Hasher trait compatible hasher that uses the rapidhash algorithm.
See RapidInlineHasher for an #[inline(always)]
version of this hasher, which can deliver
speed improvements of around 30% when hashing complex objects.
See RapidHashBuilder for usage with std::collections::HashMap.
§Example
use std::hash::Hasher;
use rapidhash::RapidHasher;
let mut hasher = RapidHasher::default();
hasher.write(b"hello world");
let hash = hasher.finish();
Implementations§
Source§impl RapidHasher
impl RapidHasher
Sourcepub const DEFAULT_SEED: u64 = 13_679_853_920_966_426_665u64
pub const DEFAULT_SEED: u64 = 13_679_853_920_966_426_665u64
Default RapidHasher
seed.
Sourcepub const fn new(seed: u64) -> Self
pub const fn new(seed: u64) -> Self
Create a new RapidHasher with a custom seed.
Sourcepub const fn default_const() -> Self
pub const fn default_const() -> Self
Create a new RapidHasher using the default seed.
Sourcepub const fn write_const(&self, bytes: &[u8]) -> Self
pub const fn write_const(&self, bytes: &[u8]) -> Self
Const equivalent to Hasher::write.
§Example
use rapidhash::RapidHasher;
let hasher = RapidHasher::default_const();
let hash = hasher
.write_const(b"some bytes")
.write_const(b"and some more bytes")
.finish_const();
Sourcepub const fn finish_const(&self) -> u64
pub const fn finish_const(&self) -> u64
Const equivalent to Hasher::finish.
Trait Implementations§
Source§impl Clone for RapidHasher
impl Clone for RapidHasher
Source§fn clone(&self) -> RapidHasher
fn clone(&self) -> RapidHasher
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Default for RapidHasher
impl Default for RapidHasher
Source§fn default() -> Self
fn default() -> Self
Create a new RapidHasher with the default seed.
See crate::RapidRandomState for a std::hash::BuildHasher that initialises with a random seed.
Source§impl Hasher for RapidHasher
This implementation implements methods for all integer types as the compiler will (hopefully…)
inline and heavily optimize the rapidhash_core for each. Where the bytes length is known the
compiler can make significant optimisations and saves us writing them out by hand.
impl Hasher for RapidHasher
This implementation implements methods for all integer types as the compiler will (hopefully…) inline and heavily optimize the rapidhash_core for each. Where the bytes length is known the compiler can make significant optimisations and saves us writing them out by hand.
Source§fn write_u128(&mut self, i: u128)
fn write_u128(&mut self, i: u128)
u128
into this hasher.Source§fn write_usize(&mut self, i: usize)
fn write_usize(&mut self, i: usize)
usize
into this hasher.Source§fn write_i128(&mut self, i: i128)
fn write_i128(&mut self, i: i128)
i128
into this hasher.Source§fn write_isize(&mut self, i: isize)
fn write_isize(&mut self, i: isize)
isize
into this hasher.Source§fn write_length_prefix(&mut self, len: usize)
fn write_length_prefix(&mut self, len: usize)
hasher_prefixfree_extras
)