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§
- Hasher
FromBE - Apply a primitive numeric type’s
from_bemethod before hashing. - Hasher
FromLE - Apply a primitive numeric type’s
from_lemethod before hashing. - Hasher
Swap Bytes - Apply a primitive numeric type’s
swap_bytesmethod before hashing. - Hasher
ToBE - Apply a primitive numeric type’s
to_bemethod before hashing. - Hasher
ToLE - Apply a primitive numeric type’s
to_lemethod before hashing.