Struct iota_client::block::payload::milestone::MilestoneId
source · pub struct MilestoneId(_);
Expand description
A milestone identifier, the BLAKE2b-256 hash of the milestone 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§
source§impl<__AsRefT> AsRef<__AsRefT> for MilestoneIdwhere
[u8; 32]: AsRef<__AsRefT>,
__AsRefT: ?Sized,
impl<__AsRefT> AsRef<__AsRefT> for MilestoneIdwhere
[u8; 32]: AsRef<__AsRefT>,
__AsRefT: ?Sized,
source§impl Clone for MilestoneId
impl Clone for MilestoneId
source§fn clone(&self) -> MilestoneId
fn clone(&self) -> MilestoneId
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for MilestoneId
impl Debug for MilestoneId
source§impl Deref for MilestoneId
impl Deref for MilestoneId
source§impl<'de> Deserialize<'de> for MilestoneId
impl<'de> Deserialize<'de> for MilestoneId
source§fn deserialize<D>(
deserializer: D
) -> Result<MilestoneId, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<MilestoneId, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
source§impl Display for MilestoneId
impl Display for MilestoneId
source§impl From<MilestoneId> for TransactionId
impl From<MilestoneId> for TransactionId
source§fn from(milestone_id: MilestoneId) -> TransactionId
fn from(milestone_id: MilestoneId) -> TransactionId
source§impl From<MilestoneId> for TreasuryInput
impl From<MilestoneId> for TreasuryInput
source§fn from(original: MilestoneId) -> TreasuryInput
fn from(original: MilestoneId) -> TreasuryInput
source§impl FromStr for MilestoneId
impl FromStr for MilestoneId
source§impl Hash for MilestoneId
impl Hash for MilestoneId
source§impl Ord for MilestoneId
impl Ord for MilestoneId
source§fn cmp(&self, other: &MilestoneId) -> Ordering
fn cmp(&self, other: &MilestoneId) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl Packable for MilestoneId
impl Packable for MilestoneId
§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
source§fn 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
.source§fn unpack<U, const VERIFY: bool>(
unpacker: &mut U,
visitor: &<MilestoneId as Packable>::UnpackVisitor
) -> Result<MilestoneId, UnpackError<<MilestoneId as Packable>::UnpackError, <U as Unpacker>::Error>>where
U: Unpacker,
fn unpack<U, const VERIFY: bool>(
unpacker: &mut U,
visitor: &<MilestoneId as Packable>::UnpackVisitor
) -> Result<MilestoneId, UnpackError<<MilestoneId as Packable>::UnpackError, <U as Unpacker>::Error>>where
U: Unpacker,
Unpacker
. The VERIFY
generic parameter can be used to skip additional
syntactic checks.source§impl PartialEq<MilestoneId> for MilestoneId
impl PartialEq<MilestoneId> for MilestoneId
source§fn eq(&self, other: &MilestoneId) -> bool
fn eq(&self, other: &MilestoneId) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<MilestoneId> for MilestoneId
impl PartialOrd<MilestoneId> for MilestoneId
source§fn partial_cmp(&self, other: &MilestoneId) -> Option<Ordering>
fn partial_cmp(&self, other: &MilestoneId) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for MilestoneId
impl Serialize for MilestoneId
source§fn 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 MilestoneId
impl Eq for MilestoneId
impl StructuralEq for MilestoneId
impl StructuralPartialEq for MilestoneId
Auto Trait Implementations§
impl RefUnwindSafe for MilestoneId
impl Send for MilestoneId
impl Sync for MilestoneId
impl Unpin for MilestoneId
impl UnwindSafe for MilestoneId
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
§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
source§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,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.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<P> PackableExt for Pwhere
P: Packable,
impl<P> PackableExt for Pwhere
P: Packable,
source§fn 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]>
].
source§fn 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.
source§fn packed_len(&self) -> usize
fn packed_len(&self) -> usize
pack
.source§impl<T> ToHex for Twhere
T: AsRef<[u8]>,
impl<T> ToHex for Twhere
T: AsRef<[u8]>,
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
)