Struct bee_block::output::InputsCommitment
source · [−]pub struct InputsCommitment(_);Expand description
Represents a commitment to transaction inputs.
Implementations
sourceimpl InputsCommitment
impl InputsCommitment
sourcepub const LENGTH: usize = 32usize
pub const LENGTH: usize = 32usize
The length of an InputsCommitment.
Methods from Deref<Target = [u8; 32]>
1.57.0 · sourcepub fn as_slice(&self) -> &[T]ⓘNotable traits for &[u8]impl Read for &[u8]impl Write for &mut [u8]
pub fn as_slice(&self) -> &[T]ⓘNotable traits for &[u8]impl Read for &[u8]impl Write for &mut [u8]
Returns a slice containing the entire array. Equivalent to &s[..].
sourcepub fn each_ref(&self) -> [&T; N]
🔬This is a nightly-only experimental API. (array_methods)
pub fn each_ref(&self) -> [&T; N]
array_methods)Borrows each element and returns an array of references with the same
size as self.
Example
#![feature(array_methods)]
let floats = [3.1, 2.7, -1.0];
let float_refs: [&f64; 3] = floats.each_ref();
assert_eq!(float_refs, [&3.1, &2.7, &-1.0]);This method is particularly useful if combined with other methods, like
map. This way, you can avoid moving the original
array if its elements are not Copy.
#![feature(array_methods)]
let strings = ["Ferris".to_string(), "♥".to_string(), "Rust".to_string()];
let is_ascii = strings.each_ref().map(|s| s.is_ascii());
assert_eq!(is_ascii, [true, false, true]);
// We can still access the original array: it has not been moved.
assert_eq!(strings.len(), 3);sourcepub fn split_array_ref<const M: usize>(&self) -> (&[T; M], &[T])
🔬This is a nightly-only experimental API. (split_array)
pub fn split_array_ref<const M: usize>(&self) -> (&[T; M], &[T])
split_array)Divides one array reference into two at an index.
The first will contain all indices from [0, M) (excluding
the index M itself) and the second will contain all
indices from [M, N) (excluding the index N itself).
Panics
Panics if M > N.
Examples
#![feature(split_array)]
let v = [1, 2, 3, 4, 5, 6];
{
let (left, right) = v.split_array_ref::<0>();
assert_eq!(left, &[]);
assert_eq!(right, &[1, 2, 3, 4, 5, 6]);
}
{
let (left, right) = v.split_array_ref::<2>();
assert_eq!(left, &[1, 2]);
assert_eq!(right, &[3, 4, 5, 6]);
}
{
let (left, right) = v.split_array_ref::<6>();
assert_eq!(left, &[1, 2, 3, 4, 5, 6]);
assert_eq!(right, &[]);
}sourcepub fn rsplit_array_ref<const M: usize>(&self) -> (&[T], &[T; M])
🔬This is a nightly-only experimental API. (split_array)
pub fn rsplit_array_ref<const M: usize>(&self) -> (&[T], &[T; M])
split_array)Divides one array reference into two at an index from the end.
The first will contain all indices from [0, N - M) (excluding
the index N - M itself) and the second will contain all
indices from [N - M, N) (excluding the index N itself).
Panics
Panics if M > N.
Examples
#![feature(split_array)]
let v = [1, 2, 3, 4, 5, 6];
{
let (left, right) = v.rsplit_array_ref::<0>();
assert_eq!(left, &[1, 2, 3, 4, 5, 6]);
assert_eq!(right, &[]);
}
{
let (left, right) = v.rsplit_array_ref::<2>();
assert_eq!(left, &[1, 2, 3, 4]);
assert_eq!(right, &[5, 6]);
}
{
let (left, right) = v.rsplit_array_ref::<6>();
assert_eq!(left, &[]);
assert_eq!(right, &[1, 2, 3, 4, 5, 6]);
}Trait Implementations
sourceimpl Clone for InputsCommitment
impl Clone for InputsCommitment
sourcefn clone(&self) -> InputsCommitment
fn clone(&self) -> InputsCommitment
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresourceimpl Debug for InputsCommitment
impl Debug for InputsCommitment
sourceimpl Deref for InputsCommitment
impl Deref for InputsCommitment
sourceimpl<'de> Deserialize<'de> for InputsCommitment
impl<'de> Deserialize<'de> for InputsCommitment
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>,
sourceimpl Display for InputsCommitment
impl Display for InputsCommitment
sourceimpl FromStr for InputsCommitment
impl FromStr for InputsCommitment
sourceimpl Hash for InputsCommitment
impl Hash for InputsCommitment
sourceimpl Ord for InputsCommitment
impl Ord for InputsCommitment
sourcefn cmp(&self, other: &InputsCommitment) -> Ordering
fn cmp(&self, other: &InputsCommitment) -> Ordering
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
sourceimpl Packable for InputsCommitment
impl Packable for InputsCommitment
type UnpackError = <[u8; 32] as Packable>::UnpackError
type UnpackError = <[u8; 32] as Packable>::UnpackError
type UnpackVisitor = <[u8; 32] as Packable>::UnpackVisitor
type UnpackVisitor = <[u8; 32] as Packable>::UnpackVisitor
sourcefn pack<P: Packer>(&self, packer: &mut P) -> Result<(), P::Error>
fn pack<P: Packer>(&self, packer: &mut P) -> Result<(), P::Error>
Packer.sourcefn unpack<U: Unpacker, const VERIFY: bool>(
unpacker: &mut U,
visitor: &Self::UnpackVisitor
) -> Result<Self, UnpackError<Self::UnpackError, U::Error>>
fn unpack<U: Unpacker, const VERIFY: bool>(
unpacker: &mut U,
visitor: &Self::UnpackVisitor
) -> Result<Self, UnpackError<Self::UnpackError, U::Error>>
sourceimpl PartialEq<InputsCommitment> for InputsCommitment
impl PartialEq<InputsCommitment> for InputsCommitment
sourcefn eq(&self, other: &InputsCommitment) -> bool
fn eq(&self, other: &InputsCommitment) -> bool
sourceimpl PartialOrd<InputsCommitment> for InputsCommitment
impl PartialOrd<InputsCommitment> for InputsCommitment
sourcefn partial_cmp(&self, other: &InputsCommitment) -> Option<Ordering>
fn partial_cmp(&self, other: &InputsCommitment) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read moresourceimpl Serialize for InputsCommitment
impl Serialize for InputsCommitment
impl Copy for InputsCommitment
impl Eq for InputsCommitment
impl StructuralEq for InputsCommitment
impl StructuralPartialEq for InputsCommitment
Auto Trait Implementations
impl RefUnwindSafe for InputsCommitment
impl Send for InputsCommitment
impl Sync for InputsCommitment
impl Unpin for InputsCommitment
impl UnwindSafe for InputsCommitment
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Requestsourceimpl<P> PackableExt for Pwhere
P: Packable,
impl<P> PackableExt for Pwhere
P: Packable,
sourcefn unpack_verified<T>(
bytes: T,
visitor: &<P as Packable>::UnpackVisitor
) -> Result<P, UnpackError<<P as Packable>::UnpackError, UnexpectedEOF>>where
T: AsRef<[u8]>,
fn unpack_verified<T>(
bytes: T,
visitor: &<P as Packable>::UnpackVisitor
) -> Result<P, UnpackError<<P as Packable>::UnpackError, UnexpectedEOF>>where
T: AsRef<[u8]>,
Unpacks this value from a type that implements [AsRef<[u8]>].
sourcefn unpack_unverified<T>(
bytes: T
) -> Result<P, UnpackError<<P as Packable>::UnpackError, UnexpectedEOF>>where
T: AsRef<[u8]>,
fn unpack_unverified<T>(
bytes: T
) -> Result<P, UnpackError<<P as Packable>::UnpackError, UnexpectedEOF>>where
T: AsRef<[u8]>,
Unpacks this value from a type that implements [AsRef<[u8]>] skipping some syntatical checks.
sourcefn packed_len(&self) -> usize
fn packed_len(&self) -> usize
pack. Read more