Struct iota_client::block::payload::transaction::TransactionId
source · pub struct TransactionId(_);
Expand description
A transaction identifier, the BLAKE2b-256 hash of the transaction bytes. See https://www.blake2.net/ for more information.
Implementations
Methods from Deref<Target = [u8; 32]>
1.57.0 · sourcepub fn as_slice(&self) -> &[T] ⓘ
pub fn as_slice(&self) -> &[T] ⓘ
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<__AsRefT> AsRef<__AsRefT> for TransactionIdwhere
[u8; 32]: AsRef<__AsRefT>,
__AsRefT: ?Sized,
impl<__AsRefT> AsRef<__AsRefT> for TransactionIdwhere
[u8; 32]: AsRef<__AsRefT>,
__AsRefT: ?Sized,
sourceimpl Clone for TransactionId
impl Clone for TransactionId
sourcefn clone(&self) -> TransactionId
fn clone(&self) -> TransactionId
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for TransactionId
impl Debug for TransactionId
sourceimpl Deref for TransactionId
impl Deref for TransactionId
sourceimpl<'de> Deserialize<'de> for TransactionId
impl<'de> Deserialize<'de> for TransactionId
sourcefn deserialize<D>(
deserializer: D
) -> Result<TransactionId, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<TransactionId, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
sourceimpl Display for TransactionId
impl Display for TransactionId
sourceimpl From<[u8; 32]> for TransactionId
impl From<[u8; 32]> for TransactionId
sourcefn from(original: [u8; 32]) -> TransactionId
fn from(original: [u8; 32]) -> TransactionId
sourceimpl From<MilestoneId> for TransactionId
impl From<MilestoneId> for TransactionId
sourcefn from(milestone_id: MilestoneId) -> TransactionId
fn from(milestone_id: MilestoneId) -> TransactionId
sourceimpl FromStr for TransactionId
impl FromStr for TransactionId
sourceimpl Hash for TransactionId
impl Hash for TransactionId
sourceimpl Ord for TransactionId
impl Ord for TransactionId
sourcefn cmp(&self, other: &TransactionId) -> Ordering
fn cmp(&self, other: &TransactionId) -> Ordering
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
sourceimpl Packable for TransactionId
impl Packable for TransactionId
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>(&self, packer: &mut P) -> Result<(), <P as Packer>::Error>where
P: Packer,
fn pack<P>(&self, packer: &mut P) -> Result<(), <P as Packer>::Error>where
P: Packer,
Packer
.sourcefn unpack<U, const VERIFY: bool>(
unpacker: &mut U,
visitor: &<TransactionId as Packable>::UnpackVisitor
) -> Result<TransactionId, UnpackError<<TransactionId as Packable>::UnpackError, <U as Unpacker>::Error>>where
U: Unpacker,
fn unpack<U, const VERIFY: bool>(
unpacker: &mut U,
visitor: &<TransactionId as Packable>::UnpackVisitor
) -> Result<TransactionId, UnpackError<<TransactionId as Packable>::UnpackError, <U as Unpacker>::Error>>where
U: Unpacker,
sourceimpl PartialEq<TransactionId> for TransactionId
impl PartialEq<TransactionId> for TransactionId
sourcefn eq(&self, other: &TransactionId) -> bool
fn eq(&self, other: &TransactionId) -> bool
sourceimpl PartialOrd<TransactionId> for TransactionId
impl PartialOrd<TransactionId> for TransactionId
sourcefn partial_cmp(&self, other: &TransactionId) -> Option<Ordering>
fn partial_cmp(&self, other: &TransactionId) -> 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 TransactionId
impl Serialize for TransactionId
sourcefn serialize<S>(
&self,
s: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
s: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl Copy for TransactionId
impl Eq for TransactionId
impl StructuralEq for TransactionId
impl StructuralPartialEq for TransactionId
Auto Trait Implementations
impl RefUnwindSafe for TransactionId
impl Send for TransactionId
impl Sync for TransactionId
impl Unpin for TransactionId
impl UnwindSafe for TransactionId
Blanket Implementations
impl<T> Base32Len for Twhere
T: AsRef<[u8]>,
impl<T> Base32Len for Twhere
T: AsRef<[u8]>,
fn base32_len(&self) -> usize
fn base32_len(&self) -> usize
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
impl<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,
fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
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<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 moresourceimpl<T> ToHex for Twhere
T: AsRef<[u8]>,
impl<T> ToHex for Twhere
T: AsRef<[u8]>,
sourcefn 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
) Read moresourcefn 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
) Read more