#[repr(C)]pub struct H160(pub [u8; 20]);Expand description
Fixed-size uninterpreted hash type with 20 bytes (160 bits) size.
Tuple Fields§
§0: [u8; 20]Implementations§
Source§impl H160
impl H160
Sourcepub const fn repeat_byte(byte: u8) -> H160
pub const fn repeat_byte(byte: u8) -> H160
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; 20]
pub const fn as_fixed_bytes(&self) -> &[u8; 20]
Extracts a reference to the byte array containing the entire fixed hash.
Sourcepub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 20]
pub fn as_fixed_bytes_mut(&mut self) -> &mut [u8; 20]
Extracts a reference to the byte array containing the entire fixed hash.
Sourcepub const fn to_fixed_bytes(self) -> [u8; 20]
pub const fn to_fixed_bytes(self) -> [u8; 20]
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]) -> H160
pub fn from_slice(src: &[u8]) -> H160
Source§impl H160
Utilities using the byteorder crate.
impl H160
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) -> H160
pub fn from_low_u64_be(val: u64) -> H160
Creates a new hash type from the given u64 value.
§Note
- The given
u64value 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) -> H160
pub fn from_low_u64_le(val: u64) -> H160
Creates a new hash type from the given u64 value.
§Note
- The given
u64value 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) -> H160
pub fn from_low_u64_ne(val: u64) -> H160
Creates a new hash type from the given u64 value.
§Note
- The given
u64value 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 H160
Utilities using the rand crate.
impl H160
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) -> H160
pub fn random_using<R>(rng: &mut R) -> H160
Create a new hash with cryptographically random content using the given random number generator.
Trait Implementations§
Source§impl ArchiveWith<H160> for H160Wrapper
impl ArchiveWith<H160> for H160Wrapper
Source§type Archived = ArchivedH160Wrapper
type Archived = ArchivedH160Wrapper
Self with F.Source§type Resolver = H160WrapperResolver
type Resolver = H160WrapperResolver
Self with F.Source§impl BitAndAssign for H160
impl BitAndAssign for H160
Source§fn bitand_assign(&mut self, rhs: H160)
fn bitand_assign(&mut self, rhs: H160)
&= operation. Read moreSource§impl<'r> BitAndAssign<&'r H160> for H160
impl<'r> BitAndAssign<&'r H160> for H160
Source§fn bitand_assign(&mut self, rhs: &'r H160)
fn bitand_assign(&mut self, rhs: &'r H160)
&= operation. Read moreSource§impl BitOrAssign for H160
impl BitOrAssign for H160
Source§fn bitor_assign(&mut self, rhs: H160)
fn bitor_assign(&mut self, rhs: H160)
|= operation. Read moreSource§impl<'r> BitOrAssign<&'r H160> for H160
impl<'r> BitOrAssign<&'r H160> for H160
Source§fn bitor_assign(&mut self, rhs: &'r H160)
fn bitor_assign(&mut self, rhs: &'r H160)
|= operation. Read moreSource§impl BitXorAssign for H160
impl BitXorAssign for H160
Source§fn bitxor_assign(&mut self, rhs: H160)
fn bitxor_assign(&mut self, rhs: H160)
^= operation. Read moreSource§impl<'r> BitXorAssign<&'r H160> for H160
impl<'r> BitXorAssign<&'r H160> for H160
Source§fn bitxor_assign(&mut self, rhs: &'r H160)
fn bitxor_assign(&mut self, rhs: &'r H160)
^= operation. Read moreimpl Copy for H160
Source§impl<'de> Deserialize<'de> for H160
impl<'de> Deserialize<'de> for H160
Source§fn deserialize<D>(
deserializer: D,
) -> Result<H160, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<H160, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl<__D: Fallible + ?Sized> DeserializeWith<<H160Wrapper as ArchiveWith<H160>>::Archived, H160, __D> for H160Wrapper
impl<__D: Fallible + ?Sized> DeserializeWith<<H160Wrapper as ArchiveWith<H160>>::Archived, H160, __D> for H160Wrapper
Source§fn deserialize_with(
field: &<H160Wrapper as ArchiveWith<H160>>::Archived,
deserializer: &mut __D,
) -> Result<H160, <__D as Fallible>::Error>
fn deserialize_with( field: &<H160Wrapper as ArchiveWith<H160>>::Archived, deserializer: &mut __D, ) -> Result<H160, <__D as Fallible>::Error>
F using the given deserializer.impl Eq for H160
Source§impl From<H160Wrapper> for H160
impl From<H160Wrapper> for H160
Source§fn from(value: H160Wrapper) -> Self
fn from(value: H160Wrapper) -> Self
Source§impl FromStr for H160
impl FromStr for H160
Source§impl Ord for H160
impl Ord for H160
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for H160
impl PartialOrd for H160
Source§impl RLPDecode for H160
impl RLPDecode for H160
fn decode_unfinished(rlp: &[u8]) -> Result<(H160, &[u8]), RLPDecodeError>
fn decode(rlp: &[u8]) -> Result<Self, RLPDecodeError>
Source§impl Serialize for H160
impl Serialize for H160
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,
Source§impl<__S: Fallible + ?Sized> SerializeWith<H160, __S> for H160Wrapper
impl<__S: Fallible + ?Sized> SerializeWith<H160, __S> for H160Wrapper
Auto Trait Implementations§
impl Freeze for H160
impl RefUnwindSafe for H160
impl Send for H160
impl Sync for H160
impl Unpin for H160
impl UnsafeUnpin for H160
impl UnwindSafe for H160
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.Source§impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
fn overflowing_into(self) -> (U, bool)
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T, U> RoundingInto<U> for Twhere
U: RoundingFrom<T>,
impl<T, U> RoundingInto<U> for Twhere
U: RoundingFrom<T>,
fn rounding_into(self, rm: RoundingMode) -> (U, Ordering)
Source§impl<T, U> SaturatingInto<U> for Twhere
U: SaturatingFrom<T>,
impl<T, U> SaturatingInto<U> for Twhere
U: SaturatingFrom<T>,
fn saturating_into(self) -> U
Source§impl<T> ToDebugString for Twhere
T: Debug,
impl<T> ToDebugString for Twhere
T: Debug,
Source§fn to_debug_string(&self) -> String
fn to_debug_string(&self) -> String
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)