pub struct HasherProxy<'a> { /* private fields */ }Expand description
Provides an implementation of core::hash::Hasher for a given hasher pointer and write function
See HashFn for more details on the parameters.
Example usage (for a type that already implements Hasher)
ⓘ
hash: Some(|value, hasher_self, hasher_write_fn| unsafe {
value
.as_ref::<Self>()
.hash(&mut HasherProxy::new(hasher_self, hasher_write_fn));
}),Implementations§
Source§impl<'a> HasherProxy<'a>
impl<'a> HasherProxy<'a>
Sourcepub unsafe fn new(
hasher_this: Opaque<'a>,
hasher_write_fn: for<'mem> unsafe fn(Opaque<'mem>, &[u8]),
) -> HasherProxy<'a>
pub unsafe fn new( hasher_this: Opaque<'a>, hasher_write_fn: for<'mem> unsafe fn(Opaque<'mem>, &[u8]), ) -> HasherProxy<'a>
Create a new HasherProxy from a hasher pointer and a write function
§Safety
The hasher_this parameter must be a valid pointer to a Hasher trait object.
The hasher_write_fn parameter must be a valid function pointer.
Trait Implementations§
Source§impl Hasher for HasherProxy<'_>
impl Hasher for HasherProxy<'_>
1.26.0 · Source§fn write_u128(&mut self, i: u128)
fn write_u128(&mut self, i: u128)
Writes a single
u128 into this hasher.1.3.0 · Source§fn write_usize(&mut self, i: usize)
fn write_usize(&mut self, i: usize)
Writes a single
usize into this hasher.1.26.0 · Source§fn write_i128(&mut self, i: i128)
fn write_i128(&mut self, i: i128)
Writes a single
i128 into this hasher.1.3.0 · Source§fn write_isize(&mut self, i: isize)
fn write_isize(&mut self, i: isize)
Writes a single
isize into this hasher.Source§fn write_length_prefix(&mut self, len: usize)
fn write_length_prefix(&mut self, len: usize)
🔬This is a nightly-only experimental API. (
hasher_prefixfree_extras)Writes a length prefix into this hasher, as part of being prefix-free. Read more
Auto Trait Implementations§
impl<'a> Freeze for HasherProxy<'a>
impl<'a> RefUnwindSafe for HasherProxy<'a>
impl<'a> !Send for HasherProxy<'a>
impl<'a> !Sync for HasherProxy<'a>
impl<'a> Unpin for HasherProxy<'a>
impl<'a> !UnwindSafe for HasherProxy<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more