Expand description
These simple wrapper types for Hasher
change the endianness
used when hashing primitive numeric types.
§Examples
use std::collections::hash_map::DefaultHasher;
use std::hash::Hasher;
use endian_hasher::*;
assert_eq!( {
let mut h1 = HasherToLE(DefaultHasher::new());
h1.write_i16(-3);
h1.finish()
}, {
let mut h0 = DefaultHasher::new();
h0.write_i16( i16::to_le(-3) );
h0.finish()
} );
assert_eq!( {
let mut h1 = HasherToBE(DefaultHasher::new());
h1.write_u32(79);
h1.finish()
}, {
let mut h0 = DefaultHasher::new();
h0.write_u32( 79u32.to_be() );
h0.finish()
} );
assert_eq!( {
let mut h1 = HasherSwapBytes(DefaultHasher::new());
h1.write_u64(0x12345678);
h1.finish()
}, {
let mut h0 = DefaultHasher::new();
h0.write_u64( u64::swap_bytes(0x12345678) );
h0.finish()
} );
Structs§
- Apply a primitive numeric type’s
from_be
method before hashing. - Apply a primitive numeric type’s
from_le
method before hashing. - Apply a primitive numeric type’s
swap_bytes
method before hashing. - Apply a primitive numeric type’s
to_be
method before hashing. - Apply a primitive numeric type’s
to_le
method before hashing.