[−]Struct astral::util::hash::NopHasher
An implementation of Hasher
hasher which only accepts values with a size
of 8 bytes or an integral value fitting into 8 bytes.
Panics
Panics if values with a size greater than 8 bytes are passed in.
Examples
Usage:
use std::hash::{Hash, Hasher}; use astral::util::hash::NopHasher; let mut hasher = NopHasher::default(); 1234_5678_u32.hash(&mut hasher); assert_eq!(hasher.finish(), 1234_5678);
Slices and arrays cannot be hashed directly, since their len is also hashed.
Hash::hash_slice
may be used instead:
use std::hash::{Hash, Hasher}; use astral::util::hash::NopHasher; let mut hasher = NopHasher::default(); let arr = [0x12_u8, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0]; Hash::hash_slice(&arr, &mut hasher); assert_eq!(hasher.finish(), 0x1234_5678_9ABC_DEF0_u64.to_be());
Trait Implementations
impl Default for NopHasher
impl Debug for NopHasher
impl Hasher for NopHasher
fn finish(&self) -> u64
fn write(&mut self, bytes: &[u8])
fn write_u8(&mut self, i: u8)
fn write_u16(&mut self, i: u16)
fn write_u32(&mut self, i: u32)
fn write_usize(&mut self, i: usize)
fn write_i8(&mut self, i: i8)
fn write_i16(&mut self, i: i16)
fn write_i32(&mut self, i: i32)
fn write_isize(&mut self, i: isize)
fn write_u64(&mut self, i: u64)
1.3.0[src]
Writes a single u64
into this hasher.
fn write_u128(&mut self, i: u128)
1.26.0[src]
Writes a single u128
into this hasher.
fn write_i64(&mut self, i: i64)
1.3.0[src]
Writes a single i64
into this hasher.
fn write_i128(&mut self, i: i128)
1.26.0[src]
Writes a single i128
into this hasher.
impl Clone for NopHasher
Auto Trait Implementations
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
🔬 This is a nightly-only experimental API. (
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
🔬 This is a nightly-only experimental API. (
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
T: Send + Sync + UnwindSafe + ?Sized,