Trait core::hash::HashExperimental
[-]
[+]
[src]
pub trait Hash<S = SipState>: ?Sized { fn hash(&self, state: &mut S); }
A hashable type. The S
type parameter is an abstract hash state that is
used by the Hash
to compute the hash. It defaults to
std::hash::sip::SipState
.
Required Methods
fn hash(&self, state: &mut S)
Computes the hash of a value.
Implementors
impl<__S: Writer, T: Hash<__S>> Hash<__S> for Option<T>
impl<__S: Writer, T: Hash<__S>, E: Hash<__S>> Hash<__S> for Result<T, E>
impl<S: Writer> Hash<S> for u8
impl<S: Writer> Hash<S> for u16
impl<S: Writer> Hash<S> for u32
impl<S: Writer> Hash<S> for u64
impl<S: Writer> Hash<S> for uint
impl<S: Writer> Hash<S> for i8
impl<S: Writer> Hash<S> for i16
impl<S: Writer> Hash<S> for i32
impl<S: Writer> Hash<S> for i64
impl<S: Writer> Hash<S> for int
impl<S: Writer> Hash<S> for bool
impl<S: Writer> Hash<S> for char
impl<S: Writer> Hash<S> for str
impl<S: Writer> Hash<S> for ()
impl<S: Writer, A: Hash<S>> Hash<S> for (A,)
impl<S: Writer, A: Hash<S>, B: Hash<S>> Hash<S> for (A, B)
impl<S: Writer, A: Hash<S>, B: Hash<S>, C: Hash<S>> Hash<S> for (A, B, C)
impl<S: Writer, A: Hash<S>, B: Hash<S>, C: Hash<S>, D: Hash<S>> Hash<S> for (A, B, C, D)
impl<S: Writer, A: Hash<S>, B: Hash<S>, C: Hash<S>, D: Hash<S>, E: Hash<S>> Hash<S> for (A, B, C, D, E)
impl<S: Writer, A: Hash<S>, B: Hash<S>, C: Hash<S>, D: Hash<S>, E: Hash<S>, F: Hash<S>> Hash<S> for (A, B, C, D, E, F)
impl<S: Writer, A: Hash<S>, B: Hash<S>, C: Hash<S>, D: Hash<S>, E: Hash<S>, F: Hash<S>, G: Hash<S>> Hash<S> for (A, B, C, D, E, F, G)
impl<S: Writer, A: Hash<S>, B: Hash<S>, C: Hash<S>, D: Hash<S>, E: Hash<S>, F: Hash<S>, G: Hash<S>, H: Hash<S>> Hash<S> for (A, B, C, D, E, F, G, H)
impl<S: Writer, A: Hash<S>, B: Hash<S>, C: Hash<S>, D: Hash<S>, E: Hash<S>, F: Hash<S>, G: Hash<S>, H: Hash<S>, I: Hash<S>> Hash<S> for (A, B, C, D, E, F, G, H, I)
impl<S: Writer, A: Hash<S>, B: Hash<S>, C: Hash<S>, D: Hash<S>, E: Hash<S>, F: Hash<S>, G: Hash<S>, H: Hash<S>, I: Hash<S>, J: Hash<S>> Hash<S> for (A, B, C, D, E, F, G, H, I, J)
impl<S: Writer, A: Hash<S>, B: Hash<S>, C: Hash<S>, D: Hash<S>, E: Hash<S>, F: Hash<S>, G: Hash<S>, H: Hash<S>, I: Hash<S>, J: Hash<S>, K: Hash<S>> Hash<S> for (A, B, C, D, E, F, G, H, I, J, K)
impl<S: Writer, A: Hash<S>, B: Hash<S>, C: Hash<S>, D: Hash<S>, E: Hash<S>, F: Hash<S>, G: Hash<S>, H: Hash<S>, I: Hash<S>, J: Hash<S>, K: Hash<S>, L: Hash<S>> Hash<S> for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<S: Writer, T: Hash<S>> Hash<S> for [T]
impl<'a, S: Writer, T: Hash<S> + ?Sized> Hash<S> for &'a T
impl<'a, S: Writer, T: Hash<S> + ?Sized> Hash<S> for &'a mut T
impl<S: Writer, T> Hash<S> for *const T
impl<S: Writer, T> Hash<S> for *mut T
impl<S: Writer> Hash<S> for TypeId
impl<'a, T, B: ?Sized, S> Hash<S> for Cow<'a, T, B> where B: Hash<S> + ToOwned<T>