Struct HasherRng

struct HasherRng<H = std::collections::hash_map::RandomState> { ... }

A Rng implementation that uses a Hasher to generate the random values. The implementation uses an internal counter to pass to the hasher for each iteration of Rng::next_u64.

Default

This hasher has a default type of RandomState which just uses the libstd method of getting a random u64.

Implementations

impl HasherRng

fn new() -> Self

Create a new default HasherRng.

impl<H> HasherRng<H>

fn with_hasher(hasher: H) -> Self

Create a new HasherRng with the provided hasher.

impl Default for HasherRng

fn default() -> Self

impl<H> Freeze for HasherRng<H>

impl<H> RefUnwindSafe for HasherRng<H>

impl<H> Rng for HasherRng<H>

fn next_u64(self: &mut Self) -> u64

impl<H> Send for HasherRng<H>

impl<H> Sync for HasherRng<H>

impl<H> Unpin for HasherRng<H>

impl<H> UnwindSafe for HasherRng<H>

impl<H: $crate::clone::Clone> Clone for HasherRng<H>

fn clone(self: &Self) -> HasherRng<H>

impl<H: $crate::fmt::Debug> Debug for HasherRng<H>

fn fmt(self: &Self, f: &mut $crate::fmt::Formatter<'_>) -> $crate::fmt::Result

impl<T> Any for HasherRng<H>

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for HasherRng<H>

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for HasherRng<H>

fn borrow_mut(self: &mut Self) -> &mut T

impl<T> CloneToUninit for HasherRng<H>

unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)

impl<T> From for HasherRng<H>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Instrument for HasherRng<H>

impl<T> ToOwned for HasherRng<H>

fn to_owned(self: &Self) -> T
fn clone_into(self: &Self, target: &mut T)

impl<T> WithSubscriber for HasherRng<H>

impl<T, U> Into for HasherRng<H>

fn into(self: Self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom for HasherRng<H>

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for HasherRng<H>

fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>