Struct holo_hash::HoloHashed
source · [−]pub struct HoloHashed<C: HashableContent> {
pub content: C,
pub hash: HoloHashOf<C>,
}
Expand description
Represents some piece of content along with its hash representation, so that hashes need not be calculated multiple times. Provides an easy constructor which consumes the content.
Fields
content: C
The content which is hashed of type C.
hash: HoloHashOf<C>
The hash of the content C.
Implementations
sourceimpl<C> HoloHashed<C> where
C: HashableContent,
impl<C> HoloHashed<C> where
C: HashableContent,
sourcepub fn with_pre_hashed(content: C, hash: HoloHashOf<C>) -> Self
pub fn with_pre_hashed(content: C, hash: HoloHashOf<C>) -> Self
Combine content with its precalculated hash
sourcepub fn as_content(&self) -> &C
pub fn as_content(&self) -> &C
Accessor for content
sourcepub fn into_content(self) -> C
pub fn into_content(self) -> C
Convert to content
sourcepub fn into_inner(self) -> (C, HoloHashOf<C>)
pub fn into_inner(self) -> (C, HoloHashOf<C>)
Deconstruct as a tuple
Trait Implementations
sourceimpl<C> AsRef<C> for HoloHashed<C> where
C: HashableContent,
impl<C> AsRef<C> for HoloHashed<C> where
C: HashableContent,
sourceimpl<C> Borrow<C> for HoloHashed<C> where
C: HashableContent,
impl<C> Borrow<C> for HoloHashed<C> where
C: HashableContent,
sourceimpl<C> Clone for HoloHashed<C> where
C: HashableContent + Clone,
impl<C> Clone for HoloHashed<C> where
C: HashableContent + Clone,
sourceimpl<C: Debug + HashableContent> Debug for HoloHashed<C>
impl<C: Debug + HashableContent> Debug for HoloHashed<C>
sourceimpl<C> Deref for HoloHashed<C> where
C: HashableContent,
impl<C> Deref for HoloHashed<C> where
C: HashableContent,
sourceimpl<'de, C: HashableContent> Deserialize<'de> for HoloHashed<C> where
C: Deserialize<'de>,
impl<'de, C: HashableContent> Deserialize<'de> for HoloHashed<C> where
C: Deserialize<'de>,
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<C> From<HoloHashed<C>> for (C, HoloHashOf<C>) where
C: HashableContent,
impl<C> From<HoloHashed<C>> for (C, HoloHashOf<C>) where
C: HashableContent,
sourcefn from(g: HoloHashed<C>) -> (C, HoloHashOf<C>)
fn from(g: HoloHashed<C>) -> (C, HoloHashOf<C>)
Converts to this type from the input type.
sourceimpl<C: HashableContent> HasHash<<C as HashableContent>::HashType> for HoloHashed<C>
impl<C: HashableContent> HasHash<<C as HashableContent>::HashType> for HoloHashed<C>
sourcefn as_hash(&self) -> &HoloHashOf<C>
fn as_hash(&self) -> &HoloHashOf<C>
Get the hash by reference
sourcefn into_hash(self) -> HoloHashOf<C>
fn into_hash(self) -> HoloHashOf<C>
Convert to the owned hash
sourceimpl<C> Hash for HoloHashed<C> where
C: HashableContent,
impl<C> Hash for HoloHashed<C> where
C: HashableContent,
sourceimpl<C> PartialEq<HoloHashed<C>> for HoloHashed<C> where
C: HashableContent,
impl<C> PartialEq<HoloHashed<C>> for HoloHashed<C> where
C: HashableContent,
sourceimpl<C: HashableContent> Serialize for HoloHashed<C> where
C: Serialize,
impl<C: HashableContent> Serialize for HoloHashed<C> where
C: Serialize,
impl<C> Eq for HoloHashed<C> where
C: HashableContent,
Auto Trait Implementations
impl<C> RefUnwindSafe for HoloHashed<C> where
C: RefUnwindSafe,
<C as HashableContent>::HashType: RefUnwindSafe,
impl<C> Send for HoloHashed<C> where
C: Send,
<C as HashableContent>::HashType: Send,
impl<C> Sync for HoloHashed<C> where
C: Sync,
<C as HashableContent>::HashType: Sync,
impl<C> Unpin for HoloHashed<C> where
C: Unpin,
<C as HashableContent>::HashType: Unpin,
impl<C> UnwindSafe for HoloHashed<C> where
C: UnwindSafe,
<C as HashableContent>::HashType: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
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.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more