Expand description
Fixed-size uninterpreted hash type with 64 bytes (512 bits) size.
Tuple Fields
0: [u8; 64]
Implementations
sourceimpl H512
impl H512
sourcepub const fn repeat_byte(byte: u8) -> H512
pub const fn repeat_byte(byte: u8) -> H512
Returns a new fixed hash where all bits are set to the given byte.
sourcepub fn as_bytes(&self) -> &[u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
pub fn as_bytes(&self) -> &[u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
Extracts a byte slice containing the entire fixed hash.
sourcepub fn as_bytes_mut(&mut self) -> &mut [u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
pub fn as_bytes_mut(&mut self) -> &mut [u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
Extracts a mutable byte slice containing the entire fixed hash.
sourcepub const fn as_fixed_bytes(&self) -> &[u8; 64]
pub const fn as_fixed_bytes(&self) -> &[u8; 64]
Extracts a reference to the byte array containing the entire fixed hash.
sourcepub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 64]
pub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 64]
Extracts a reference to the byte array containing the entire fixed hash.
sourcepub const fn to_fixed_bytes(self) -> [u8; 64]
pub const fn to_fixed_bytes(self) -> [u8; 64]
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])
sourceimpl H512
impl H512
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) -> H512
pub fn from_low_u64_be(val: u64) -> H512
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) -> H512
pub fn from_low_u64_le(val: u64) -> H512
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) -> H512
pub fn from_low_u64_ne(val: u64) -> H512
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.
sourceimpl H512
impl H512
Utilities using the rand
crate.
sourcepub fn randomize_using<R>(&mut self, rng: &mut R) where
R: Rng + ?Sized,
pub fn randomize_using<R>(&mut self, rng: &mut R) where
R: Rng + ?Sized,
Assign self
to a cryptographically random value using the
given random number generator.
Trait Implementations
sourceimpl<'r> BitAndAssign<&'r H512> for H512
impl<'r> BitAndAssign<&'r H512> for H512
sourcepub fn bitand_assign(&mut self, rhs: &'r H512)
pub fn bitand_assign(&mut self, rhs: &'r H512)
Performs the &=
operation. Read more
sourceimpl BitAndAssign<H512> for H512
impl BitAndAssign<H512> for H512
sourcepub fn bitand_assign(&mut self, rhs: H512)
pub fn bitand_assign(&mut self, rhs: H512)
Performs the &=
operation. Read more
sourceimpl<'r> BitOrAssign<&'r H512> for H512
impl<'r> BitOrAssign<&'r H512> for H512
sourcepub fn bitor_assign(&mut self, rhs: &'r H512)
pub fn bitor_assign(&mut self, rhs: &'r H512)
Performs the |=
operation. Read more
sourceimpl BitOrAssign<H512> for H512
impl BitOrAssign<H512> for H512
sourcepub fn bitor_assign(&mut self, rhs: H512)
pub fn bitor_assign(&mut self, rhs: H512)
Performs the |=
operation. Read more
sourceimpl<'r> BitXorAssign<&'r H512> for H512
impl<'r> BitXorAssign<&'r H512> for H512
sourcepub fn bitxor_assign(&mut self, rhs: &'r H512)
pub fn bitxor_assign(&mut self, rhs: &'r H512)
Performs the ^=
operation. Read more
sourceimpl BitXorAssign<H512> for H512
impl BitXorAssign<H512> for H512
sourcepub fn bitxor_assign(&mut self, rhs: H512)
pub fn bitxor_assign(&mut self, rhs: H512)
Performs the ^=
operation. Read more
sourceimpl Decode for H512
impl Decode for H512
sourcepub fn decode<I>(input: &mut I) -> Result<H512, Error> where
I: Input,
pub fn decode<I>(input: &mut I) -> Result<H512, Error> where
I: Input,
Attempt to deserialise the value from input.
sourcefn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
Attempt to skip the encoded value from input. Read more
sourcefn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
sourceimpl<'de> Deserialize<'de> for H512
impl<'de> Deserialize<'de> for H512
sourcepub fn deserialize<D>(
deserializer: D
) -> Result<H512, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
pub fn deserialize<D>(
deserializer: D
) -> Result<H512, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Encode for H512
impl Encode for H512
sourcepub fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
pub fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
sourcefn encode_to<T>(&self, dest: &mut T) where
T: Output + ?Sized,
fn encode_to<T>(&self, dest: &mut T) where
T: Output + ?Sized,
Convert self to a slice and append it to the destination.
sourcefn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Convert self to an owned vector.
sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
sourceimpl FromStr for H512
impl FromStr for H512
type Err = FromHexError
type Err = FromHexError
The associated error which can be returned from parsing.
sourceimpl MallocSizeOf for H512
impl MallocSizeOf for H512
sourcepub fn size_of(&self, &mut MallocSizeOfOps) -> usize
pub fn size_of(&self, &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
If T::size_of
is a constant, consider implementing constant_size
as well. Read more
sourcepub fn constant_size() -> Option<usize>
pub fn constant_size() -> Option<usize>
Used to optimize MallocSizeOf
implementation for collections
like Vec
and HashMap
to avoid iterating over them unnecessarily.
The Self: Sized
bound is for object safety. Read more
sourceimpl MaxEncodedLen for H512
impl MaxEncodedLen for H512
sourcepub fn max_encoded_len() -> usize
pub fn max_encoded_len() -> usize
Upper bound, in bytes, of the maximum encoded size of this item.
sourceimpl Ord for H512
impl Ord for H512
sourceimpl PartialOrd<H512> for H512
impl PartialOrd<H512> for H512
sourcepub fn partial_cmp(&self, other: &H512) -> Option<Ordering>
pub fn partial_cmp(&self, other: &H512) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl PassByInner for H512
impl PassByInner for H512
sourcepub fn inner(&self) -> &<H512 as PassByInner>::Inner
pub fn inner(&self) -> &<H512 as PassByInner>::Inner
Returns the reference to the inner type.
sourcepub fn into_inner(self) -> <H512 as PassByInner>::Inner
pub fn into_inner(self) -> <H512 as PassByInner>::Inner
Consumes self
and returns the inner type.
sourcepub fn from_inner(inner: <H512 as PassByInner>::Inner) -> H512
pub fn from_inner(inner: <H512 as PassByInner>::Inner) -> H512
Construct Self
from the given inner
.
sourceimpl Serialize for H512
impl Serialize for H512
sourcepub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for H512
impl EncodeLike<H512> for H512
impl Eq for H512
Auto Trait Implementations
impl RefUnwindSafe for H512
impl Send for H512
impl Sync for H512
impl Unpin for H512
impl UnwindSafe for H512
Blanket Implementations
sourceimpl<T, U> AsByteSlice<T> for U where
T: ToByteSlice,
U: AsRef<[T]> + ?Sized,
impl<T, U> AsByteSlice<T> for U where
T: ToByteSlice,
U: AsRef<[T]> + ?Sized,
sourceimpl<T, U> AsMutByteSlice<T> for U where
T: ToMutByteSlice,
U: AsMut<[T]> + ?Sized,
impl<T, U> AsMutByteSlice<T> for U where
T: ToMutByteSlice,
U: AsMut<[T]> + ?Sized,
sourceimpl<U> AsMutSliceOf for U where
U: AsMut<[u8]> + ?Sized,
impl<U> AsMutSliceOf for U where
U: AsMut<[u8]> + ?Sized,
pub fn as_mut_slice_of<T>(&mut self) -> Result<&mut [T], Error> where
T: FromByteSlice,
sourceimpl<U> AsSliceOf for U where
U: AsRef<[u8]> + ?Sized,
impl<U> AsSliceOf for U where
U: AsRef<[u8]> + ?Sized,
pub fn as_slice_of<T>(&self) -> Result<&[T], Error> where
T: FromByteSlice,
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CallHasher for T where
T: Hash,
impl<T> CallHasher for T where
T: Hash,
sourceimpl<T> DecodeLimit for T where
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
sourceimpl<T> FromFFIValue for T where
T: PassBy,
impl<T> FromFFIValue for T where
T: PassBy,
type SelfInstance = T
type SelfInstance = T
As Self
can be an unsized type, it needs to be represented by a sized type at the host.
This SelfInstance
is the sized type. Read more
sourcepub fn from_ffi_value(
context: &mut dyn FunctionContext,
arg: <<T as PassBy>::PassBy as RIType>::FFIType
) -> Result<T, String>
pub fn from_ffi_value(
context: &mut dyn FunctionContext,
arg: <<T as PassBy>::PassBy as RIType>::FFIType
) -> Result<T, String>
Create SelfInstance
from the given
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoFFIValue for T where
T: PassBy,
impl<T> IntoFFIValue for T where
T: PassBy,
sourcepub fn into_ffi_value(
self,
context: &mut dyn FunctionContext
) -> Result<<<T as PassBy>::PassBy as RIType>::FFIType, String>
pub fn into_ffi_value(
self,
context: &mut dyn FunctionContext
) -> Result<<<T as PassBy>::PassBy as RIType>::FFIType, String>
Convert self
into a ffi value.
sourceimpl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
sourceimpl<T> MallocSizeOfExt for T where
T: MallocSizeOf,
impl<T> MallocSizeOfExt for T where
T: MallocSizeOf,
sourcefn malloc_size_of(&self) -> usize
fn malloc_size_of(&self) -> usize
Method to launch a heapsize measurement with a fresh state. Read more
sourceimpl<T> ToHex for T where
T: AsRef<[u8]>,
impl<T> ToHex for T where
T: AsRef<[u8]>,
sourcepub fn encode_hex<U>(&self) -> U where
U: FromIterator<char>,
pub fn encode_hex<U>(&self) -> U where
U: FromIterator<char>,
Encode the hex strict representing self
into the result. Lower case
letters are used (e.g. f9b4ca
) Read more
sourcepub fn encode_hex_upper<U>(&self) -> U where
U: FromIterator<char>,
pub fn encode_hex_upper<U>(&self) -> U where
U: FromIterator<char>,
Encode the hex strict representing self
into the result. Upper case
letters are used (e.g. F9B4CA
) Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
sourcefn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to unchecked_from
.