Trait nom::lib::std::hash::Hasher 1.0.0[−][src]
A trait for hashing an arbitrary stream of bytes.
Instances of Hasher
usually represent state that is changed while hashing
data.
Hasher
provides a fairly basic interface for retrieving the generated hash
(with finish
), and writing integers as well as slices of bytes into an
instance (with write
and write_u8
etc.). Most of the time, Hasher
instances are used in conjunction with the Hash
trait.
Examples
use std::collections::hash_map::DefaultHasher; use std::hash::Hasher; let mut hasher = DefaultHasher::new(); hasher.write_u32(1989); hasher.write_u8(11); hasher.write_u8(9); hasher.write(b"Huh?"); println!("Hash is {:x}!", hasher.finish());
Required methods
pub fn finish(&self) -> u64
[src][−]
Returns the hash value for the values written so far.
Despite its name, the method does not reset the hasher’s internal
state. Additional write
s will continue from the current value.
If you need to start a fresh hash value, you will have to create
a new hasher.
Examples
use std::collections::hash_map::DefaultHasher; use std::hash::Hasher; let mut hasher = DefaultHasher::new(); hasher.write(b"Cool!"); println!("Hash is {:x}!", hasher.finish());
pub fn write(&mut self, bytes: &[u8])
[src][−]
Writes some data into this Hasher
.
Examples
use std::collections::hash_map::DefaultHasher; use std::hash::Hasher; let mut hasher = DefaultHasher::new(); let data = [0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef]; hasher.write(&data); println!("Hash is {:x}!", hasher.finish());
Provided methods
pub fn write_u8(&mut self, i: u8)
1.3.0[src][−]
Writes a single u8
into this hasher.
pub fn write_u16(&mut self, i: u16)
1.3.0[src][−]
Writes a single u16
into this hasher.
pub fn write_u32(&mut self, i: u32)
1.3.0[src][−]
Writes a single u32
into this hasher.
pub fn write_u64(&mut self, i: u64)
1.3.0[src][−]
Writes a single u64
into this hasher.
pub fn write_u128(&mut self, i: u128)
1.26.0[src][−]
Writes a single u128
into this hasher.
pub fn write_usize(&mut self, i: usize)
1.3.0[src][−]
Writes a single usize
into this hasher.
pub fn write_i8(&mut self, i: i8)
1.3.0[src][−]
Writes a single i8
into this hasher.
pub fn write_i16(&mut self, i: i16)
1.3.0[src][−]
Writes a single i16
into this hasher.
pub fn write_i32(&mut self, i: i32)
1.3.0[src][−]
Writes a single i32
into this hasher.
pub fn write_i64(&mut self, i: i64)
1.3.0[src][−]
Writes a single i64
into this hasher.
pub fn write_i128(&mut self, i: i128)
1.26.0[src][−]
Writes a single i128
into this hasher.
pub fn write_isize(&mut self, i: isize)
1.3.0[src][−]
Writes a single isize
into this hasher.
Implementations on Foreign Types
impl<'_, H> Hasher for &'_ mut H where
H: Hasher + ?Sized,
[src][−]
H: Hasher + ?Sized,
pub fn finish(&self) -> u64
[src]
pub fn write(&mut self, bytes: &[u8])
[src]
pub fn write_u8(&mut self, i: u8)
[src]
pub fn write_u16(&mut self, i: u16)
[src]
pub fn write_u32(&mut self, i: u32)
[src]
pub fn write_u64(&mut self, i: u64)
[src]
pub fn write_u128(&mut self, i: u128)
[src]
pub fn write_usize(&mut self, i: usize)
[src]
pub fn write_i8(&mut self, i: i8)
[src]
pub fn write_i16(&mut self, i: i16)
[src]
pub fn write_i32(&mut self, i: i32)
[src]
pub fn write_i64(&mut self, i: i64)
[src]
pub fn write_i128(&mut self, i: i128)
[src]
pub fn write_isize(&mut self, i: isize)
[src]
Implementors
impl Hasher for DefaultHasher
1.13.0[src][+]
impl Hasher for SipHasher
[src][+]
impl<T, A> Hasher for Box<T, A> where
T: Hasher + ?Sized,
A: Allocator,
1.22.0[src][+]
T: Hasher + ?Sized,
A: Allocator,
impl Hasher for AHasher
impl Hasher for AHasher
impl Hasher for Hasher
impl Hasher for Hasher
impl Hasher for FarmHasher
impl Hasher for FarmHasher
impl Hasher for FnvHasher
impl Hasher for FnvHasher
impl Hasher for FxHasher
impl Hasher for FxHasher
impl Hasher for FxHasher64
impl Hasher for FxHasher64
impl Hasher for FxHasher32
impl Hasher for FxHasher32
impl Hasher for XxHash64
impl Hasher for XxHash64
impl Hasher for XxHash32
impl Hasher for XxHash32