[−][src]Struct solana_libra_crypto::hash::HashValue
Output value of our hash function. Intentionally opaque for safety and modularity.
Methods
impl HashValue
[src]
pub const LENGTH: usize
[src]
The length of the hash in bytes.
pub const LENGTH_IN_BITS: usize
[src]
The length of the hash in bits.
pub fn new(hash: [u8; 32]) -> Self
[src]
Create a new HashValue
from a byte array.
pub fn from_slice(src: &[u8]) -> Result<Self>
[src]
Create from a slice (e.g. retrieved from storage).
pub fn to_vec(&self) -> Vec<u8>
[src]
Dumps into a vector.
pub fn zero() -> Self
[src]
Creates a zero-initialized instance.
pub fn is_zero(&self) -> bool
[src]
Check if the hash value is zero.
pub fn random() -> Self
[src]
Create a cryptographically random instance.
pub fn random_with_rng<R: Rng>(rng: &mut R) -> Self
[src]
Creates a random instance with given rng. Useful in unit tests.
pub fn len() -> usize
[src]
Get the size of the hash.
pub fn last_n_bytes(&self, bytes: usize) -> String
[src]
Get the last n bytes as a String.
ⓘImportant traits for HashValueBitIterator<'a>pub fn iter_bits(&self) -> HashValueBitIterator
[src]
Returns a HashValueBitIterator
over all the bits that represent this HashValue
.
pub fn common_prefix_bits_len(&self, other: HashValue) -> usize
[src]
Returns the length of common prefix of self
and other
in bits.
Trait Implementations
impl Clone for HashValue
[src]
fn clone(&self) -> HashValue
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Ord for HashValue
[src]
fn cmp(&self, other: &HashValue) -> Ordering
[src]
fn max(self, other: Self) -> Self
1.21.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
Compares and returns the minimum of two values. Read more
fn clamp(self, min: Self, max: Self) -> Self
[src]
clamp
)Restrict a value to a certain interval. Read more
impl AsRef<[u8; 32]> for HashValue
[src]
impl Default for HashValue
[src]
impl From<HashValue> for Bytes
[src]
impl PartialOrd<HashValue> for HashValue
[src]
fn partial_cmp(&self, other: &HashValue) -> Option<Ordering>
[src]
fn lt(&self, other: &HashValue) -> bool
[src]
fn le(&self, other: &HashValue) -> bool
[src]
fn gt(&self, other: &HashValue) -> bool
[src]
fn ge(&self, other: &HashValue) -> bool
[src]
impl PartialEq<HashValue> for HashValue
[src]
impl Copy for HashValue
[src]
impl Eq for HashValue
[src]
impl Display for HashValue
[src]
Will print shortened (4 bytes) hash
impl Debug for HashValue
[src]
impl Index<usize> for HashValue
[src]
impl Hash for HashValue
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl Binary for HashValue
[src]
impl LowerHex for HashValue
[src]
impl IntoProto for HashValue
[src]
type ProtoType = Vec<u8>
The corresponding Protobuf type.
fn into_proto(self) -> Self::ProtoType
[src]
impl FromProto for HashValue
[src]
type ProtoType = Vec<u8>
The corresponding Protobuf type.
fn from_proto(bytes: Self::ProtoType) -> Result<Self>
[src]
impl Serialize for HashValue
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<'de> Deserialize<'de> for HashValue
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Arbitrary for HashValue
[src]
type Parameters = <[u8; 32] as Arbitrary>::Parameters
The type of parameters that [arbitrary_with
] accepts for configuration of the generated [Strategy
]. Parameters must implement [Default
]. Read more
type Strategy = Map<(<[u8; 32] as Arbitrary>::Strategy,), fn(_: ([u8; 32],)) -> Self>
The type of [Strategy
] used to generate values of type Self
. Read more
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
[src]
fn arbitrary() -> Self::Strategy
[src]
Generates a [Strategy
] for producing arbitrary values of type the implementing type (Self
). Read more
Auto Trait Implementations
impl Sync for HashValue
impl Send for HashValue
impl Unpin for HashValue
impl RefUnwindSafe for HashValue
impl UnwindSafe for HashValue
Blanket Implementations
impl<T> TestOnlyHash for T where
T: Serialize + ?Sized,
[src]
T: Serialize + ?Sized,
fn test_only_hash(&Self) -> HashValue
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> Clear for T where
T: InitializableFromZeroed + ?Sized,
T: InitializableFromZeroed + ?Sized,
fn clear(&mut self)
impl<T> InitializableFromZeroed for T where
T: Default,
T: Default,
unsafe fn initialize(place: *mut T)
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,