#[repr(C)]pub struct H128(pub [u8; 16]);
Expand description
Fixed-size uninterpreted hash type with 16 bytes (128 bits) size.
Tuple Fields§
§0: [u8; 16]
Implementations§
Source§impl H128
impl H128
Sourcepub const fn repeat_byte(byte: u8) -> H128
pub const fn repeat_byte(byte: u8) -> H128
Returns a new fixed hash where all bits are set to the given byte.
Sourcepub fn as_bytes_mut(&mut self) -> &mut [u8] ⓘ
pub fn as_bytes_mut(&mut self) -> &mut [u8] ⓘ
Extracts a mutable byte slice containing the entire fixed hash.
Sourcepub const fn as_fixed_bytes(&self) -> &[u8; 16]
pub const fn as_fixed_bytes(&self) -> &[u8; 16]
Extracts a reference to the byte array containing the entire fixed hash.
Sourcepub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 16]
pub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 16]
Extracts a reference to the byte array containing the entire fixed hash.
Sourcepub const fn to_fixed_bytes(self) -> [u8; 16]
pub const fn to_fixed_bytes(self) -> [u8; 16]
Returns the inner bytes array.
Sourcepub fn as_mut_ptr(&mut self) -> *mut u8
pub fn as_mut_ptr(&mut self) -> *mut u8
Returns a mutable raw pointer to the value.
Sourcepub fn assign_from_slice(&mut self, src: &[u8])
pub fn assign_from_slice(&mut self, src: &[u8])
Sourcepub fn from_slice(src: &[u8]) -> H128
pub fn from_slice(src: &[u8]) -> H128
Source§impl H128
impl H128
Utilities using the byteorder
crate.
Sourcepub fn to_low_u64_be(&self) -> u64
pub fn to_low_u64_be(&self) -> u64
Returns the lowest 8 bytes interpreted as big-endian.
§Note
For hash type with less than 8 bytes the missing bytes are interpreted as being zero.
Sourcepub fn to_low_u64_le(&self) -> u64
pub fn to_low_u64_le(&self) -> u64
Returns the lowest 8 bytes interpreted as little-endian.
§Note
For hash type with less than 8 bytes the missing bytes are interpreted as being zero.
Sourcepub fn to_low_u64_ne(&self) -> u64
pub fn to_low_u64_ne(&self) -> u64
Returns the lowest 8 bytes interpreted as native-endian.
§Note
For hash type with less than 8 bytes the missing bytes are interpreted as being zero.
Sourcepub fn from_low_u64_be(val: u64) -> H128
pub fn from_low_u64_be(val: u64) -> H128
Creates a new hash type from the given u64
value.
§Note
- The given
u64
value is interpreted as big endian. - Ignores the most significant bits of the given value if the hash type has less than 8 bytes.
Sourcepub fn from_low_u64_le(val: u64) -> H128
pub fn from_low_u64_le(val: u64) -> H128
Creates a new hash type from the given u64
value.
§Note
- The given
u64
value is interpreted as little endian. - Ignores the most significant bits of the given value if the hash type has less than 8 bytes.
Sourcepub fn from_low_u64_ne(val: u64) -> H128
pub fn from_low_u64_ne(val: u64) -> H128
Creates a new hash type from the given u64
value.
§Note
- The given
u64
value is interpreted as native endian. - Ignores the most significant bits of the given value if the hash type has less than 8 bytes.
Source§impl H128
impl H128
Utilities using the rand
crate.
Sourcepub fn randomize_using<R>(&mut self, rng: &mut R)
pub fn randomize_using<R>(&mut self, rng: &mut R)
Assign self
to a cryptographically random value using the
given random number generator.
Sourcepub fn random_using<R>(rng: &mut R) -> H128
pub fn random_using<R>(rng: &mut R) -> H128
Create a new hash with cryptographically random content using the given random number generator.
Trait Implementations§
Source§impl BigEndianHash for H128
impl BigEndianHash for H128
Source§impl<'r> BitAndAssign<&'r H128> for H128
impl<'r> BitAndAssign<&'r H128> for H128
Source§fn bitand_assign(&mut self, rhs: &'r H128)
fn bitand_assign(&mut self, rhs: &'r H128)
&=
operation. Read moreSource§impl BitAndAssign for H128
impl BitAndAssign for H128
Source§fn bitand_assign(&mut self, rhs: H128)
fn bitand_assign(&mut self, rhs: H128)
&=
operation. Read moreSource§impl<'r> BitOrAssign<&'r H128> for H128
impl<'r> BitOrAssign<&'r H128> for H128
Source§fn bitor_assign(&mut self, rhs: &'r H128)
fn bitor_assign(&mut self, rhs: &'r H128)
|=
operation. Read moreSource§impl BitOrAssign for H128
impl BitOrAssign for H128
Source§fn bitor_assign(&mut self, rhs: H128)
fn bitor_assign(&mut self, rhs: H128)
|=
operation. Read moreSource§impl<'r> BitXorAssign<&'r H128> for H128
impl<'r> BitXorAssign<&'r H128> for H128
Source§fn bitxor_assign(&mut self, rhs: &'r H128)
fn bitxor_assign(&mut self, rhs: &'r H128)
^=
operation. Read moreSource§impl BitXorAssign for H128
impl BitXorAssign for H128
Source§fn bitxor_assign(&mut self, rhs: H128)
fn bitxor_assign(&mut self, rhs: H128)
^=
operation. Read moreSource§impl Decode for H128
impl Decode for H128
Source§fn decode<I>(input: &mut I) -> Result<H128, Error>where
I: Input,
fn decode<I>(input: &mut I) -> Result<H128, Error>where
I: Input,
Source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Source§impl<'de> Deserialize<'de> for H128
impl<'de> Deserialize<'de> for H128
Source§fn deserialize<D>(
deserializer: D,
) -> Result<H128, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<H128, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl Encode for H128
impl Encode for H128
Source§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
Source§fn encode_to<T>(&self, dest: &mut T)
fn encode_to<T>(&self, dest: &mut T)
Source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Source§impl FromStr for H128
impl FromStr for H128
Source§impl MaxEncodedLen for H128
impl MaxEncodedLen for H128
Source§fn max_encoded_len() -> usize
fn max_encoded_len() -> usize
Source§impl Ord for H128
impl Ord for H128
Source§impl PartialOrd for H128
impl PartialOrd for H128
Source§impl Serialize for H128
impl Serialize for H128
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl Copy for H128
impl EncodeLike for H128
impl Eq for H128
Auto Trait Implementations§
impl Freeze for H128
impl RefUnwindSafe for H128
impl Send for H128
impl Sync for H128
impl Unpin for H128
impl UnwindSafe for H128
Blanket Implementations§
Source§impl<T, U> AsByteSlice<T> for U
impl<T, U> AsByteSlice<T> for U
fn as_byte_slice(&self) -> &[u8] ⓘ
Source§impl<T, U> AsMutByteSlice<T> for U
impl<T, U> AsMutByteSlice<T> for U
fn as_mut_byte_slice(&mut self) -> &mut [u8] ⓘ
Source§impl<U> AsMutSliceOf for U
impl<U> AsMutSliceOf for U
fn as_mut_slice_of<T>(&mut self) -> Result<&mut [T], Error>where
T: FromByteSlice,
Source§impl<U> AsSliceOf for U
impl<U> AsSliceOf for U
fn as_slice_of<T>(&self) -> Result<&[T], Error>where
T: FromByteSlice,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
Source§impl<T> ToHex for T
impl<T> ToHex for T
Source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
self
into the result. Lower case
letters are used (e.g. f9b4ca
)Source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
self
into the result. Upper case
letters are used (e.g. F9B4CA
)