pub struct SumHashesAnyCollection<C, H = UseDefaultHasher>(/* private fields */);
Expand description
Adds hashing to any collection according to the hash of each element, but without
respecting iteration order. Always usable with any collection, via the default hasher.
Deref
and DerefMut
provide access to the wrapped type.
Do not use this wrapper with an ordered collection. The wrapper does not change equality semantics; it affects hashing only.
The layout of this struct is guaranteed to be the same as the wrapped collection. This means
it is possible to transmute references; however, hash_by_summing_hashes_with
is usually a
better option than relying on unsafe
.
Implementations§
Source§impl<C, H> SumHashesAnyCollection<C, H>
impl<C, H> SumHashesAnyCollection<C, H>
Sourcepub fn into_inner(self) -> C
pub fn into_inner(self) -> C
Destructures into the inner collection
Trait Implementations§
Source§impl<C: Clone, H: Clone> Clone for SumHashesAnyCollection<C, H>
impl<C: Clone, H: Clone> Clone for SumHashesAnyCollection<C, H>
Source§fn clone(&self) -> SumHashesAnyCollection<C, H>
fn clone(&self) -> SumHashesAnyCollection<C, H>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<C: Default, H: Default> Default for SumHashesAnyCollection<C, H>
impl<C: Default, H: Default> Default for SumHashesAnyCollection<C, H>
Source§fn default() -> SumHashesAnyCollection<C, H>
fn default() -> SumHashesAnyCollection<C, H>
Returns the “default value” for a type. Read more
Source§impl<C> Deref for SumHashesAnyCollection<C>
impl<C> Deref for SumHashesAnyCollection<C>
Source§impl<C> DerefMut for SumHashesAnyCollection<C>
impl<C> DerefMut for SumHashesAnyCollection<C>
Source§impl<C, H> From<C> for SumHashesAnyCollection<C, H>
impl<C, H> From<C> for SumHashesAnyCollection<C, H>
Source§impl<C, BH> Hash for SumHashesAnyCollection<C, BH>where
for<'c> &'c C: IntoIterator,
for<'c> <&'c C as IntoIterator>::Item: Hash,
BH: BuildHasherFromFriend<C>,
impl<C, BH> Hash for SumHashesAnyCollection<C, BH>where
for<'c> &'c C: IntoIterator,
for<'c> <&'c C as IntoIterator>::Item: Hash,
BH: BuildHasherFromFriend<C>,
Source§impl<C: IntoIterator> IntoIterator for SumHashesAnyCollection<C>
impl<C: IntoIterator> IntoIterator for SumHashesAnyCollection<C>
Source§impl<C: PartialEq, H: PartialEq> PartialEq for SumHashesAnyCollection<C, H>
impl<C: PartialEq, H: PartialEq> PartialEq for SumHashesAnyCollection<C, H>
Source§fn eq(&self, other: &SumHashesAnyCollection<C, H>) -> bool
fn eq(&self, other: &SumHashesAnyCollection<C, H>) -> bool
Tests for
self
and other
values to be equal, and is used by ==
.impl<C: Eq, H: Eq> Eq for SumHashesAnyCollection<C, H>
impl<C, H> StructuralPartialEq for SumHashesAnyCollection<C, H>
Auto Trait Implementations§
impl<C, H> Freeze for SumHashesAnyCollection<C, H>where
C: Freeze,
impl<C, H> RefUnwindSafe for SumHashesAnyCollection<C, H>where
C: RefUnwindSafe,
H: RefUnwindSafe,
impl<C, H> Send for SumHashesAnyCollection<C, H>
impl<C, H> Sync for SumHashesAnyCollection<C, H>
impl<C, H> Unpin for SumHashesAnyCollection<C, H>
impl<C, H> UnwindSafe for SumHashesAnyCollection<C, H>where
C: UnwindSafe,
H: UnwindSafe,
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