Struct account_address::AccountAddress
source · [−]pub struct AccountAddress(_);
Expand description
A struct that represents an account address.
Implementations
sourceimpl AccountAddress
impl AccountAddress
pub const fn new(address: [u8; 16]) -> AccountAddress
sourcepub const LENGTH: usize
pub const LENGTH: usize
The number of bytes in an address. Default to 16 bytes, can be set to 20 bytes with address20 feature.
sourcepub const ZERO: AccountAddress
pub const ZERO: AccountAddress
Hex address: 0x0
sourcepub const ONE: AccountAddress
pub const ONE: AccountAddress
Hex address: 0x1
pub fn random() -> AccountAddress
pub fn short_str_lossless(&self) -> String
pub fn to_vec(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
pub fn into_bytes(self) -> [u8; 16]
pub fn from_hex_literal(
literal: &str
) -> Result<AccountAddress, AccountAddressParseError>
pub fn to_hex_literal(&self) -> String
pub fn from_hex<T>(hex: T) -> Result<AccountAddress, AccountAddressParseError> where
T: AsRef<[u8]>,
pub fn to_hex(&self) -> String
pub fn from_bytes<T>(
bytes: T
) -> Result<AccountAddress, AccountAddressParseError> where
T: AsRef<[u8]>,
Methods from Deref<Target = [u8; 16]>
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 AccountAddress
impl Clone for AccountAddress
sourcefn clone(&self) -> AccountAddress
fn clone(&self) -> AccountAddress
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for AccountAddress
impl Debug for AccountAddress
sourceimpl Deref for AccountAddress
impl Deref for AccountAddress
sourceimpl<'de> Deserialize<'de> for AccountAddress
impl<'de> Deserialize<'de> for AccountAddress
sourcefn deserialize<D>(
deserializer: D
) -> Result<AccountAddress, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<AccountAddress, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Display for AccountAddress
impl Display for AccountAddress
sourceimpl From<AccountAddress> for AccountAddressData
impl From<AccountAddress> for AccountAddressData
sourcefn from(id: AccountAddress) -> Self
fn from(id: AccountAddress) -> Self
Converts to this type from the input type.
sourceimpl From<AccountAddressData> for AccountAddress
impl From<AccountAddressData> for AccountAddress
sourcefn from(id: AccountAddressData) -> Self
fn from(id: AccountAddressData) -> Self
Converts to this type from the input type.
sourceimpl FromStr for AccountAddress
impl FromStr for AccountAddress
type Err = AccountAddressParseError
type Err = AccountAddressParseError
The associated error which can be returned from parsing.
sourcefn from_str(s: &str) -> Result<AccountAddress, AccountAddressParseError>
fn from_str(s: &str) -> Result<AccountAddress, AccountAddressParseError>
Parses a string s
to return a value of this type. Read more
sourceimpl Hash for AccountAddress
impl Hash for AccountAddress
sourceimpl LowerHex for AccountAddress
impl LowerHex for AccountAddress
sourceimpl Ord for AccountAddress
impl Ord for AccountAddress
sourceimpl PartialEq<AccountAddress> for AccountAddress
impl PartialEq<AccountAddress> for AccountAddress
sourcefn eq(&self, other: &AccountAddress) -> bool
fn eq(&self, other: &AccountAddress) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &AccountAddress) -> bool
fn ne(&self, other: &AccountAddress) -> bool
This method tests for !=
.
sourceimpl PartialOrd<AccountAddress> for AccountAddress
impl PartialOrd<AccountAddress> for AccountAddress
sourcefn partial_cmp(&self, other: &AccountAddress) -> Option<Ordering>
fn partial_cmp(&self, other: &AccountAddress) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl Serialize for AccountAddress
impl Serialize for AccountAddress
sourcefn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
sourceimpl<'_> TryFrom<&'_ [u8]> for AccountAddress
impl<'_> TryFrom<&'_ [u8]> for AccountAddress
sourcefn try_from(bytes: &[u8]) -> Result<AccountAddress, AccountAddressParseError>
fn try_from(bytes: &[u8]) -> Result<AccountAddress, AccountAddressParseError>
Tries to convert the provided byte array into Address.
type Error = AccountAddressParseError
type Error = AccountAddressParseError
The type returned in the event of a conversion error.
sourceimpl TryFrom<String> for AccountAddress
impl TryFrom<String> for AccountAddress
type Error = AccountAddressParseError
type Error = AccountAddressParseError
The type returned in the event of a conversion error.
sourcefn try_from(s: String) -> Result<AccountAddress, AccountAddressParseError>
fn try_from(s: String) -> Result<AccountAddress, AccountAddressParseError>
Performs the conversion.
sourceimpl TryFrom<Vec<u8, Global>> for AccountAddress
impl TryFrom<Vec<u8, Global>> for AccountAddress
sourcefn try_from(
bytes: Vec<u8, Global>
) -> Result<AccountAddress, AccountAddressParseError>
fn try_from(
bytes: Vec<u8, Global>
) -> Result<AccountAddress, AccountAddressParseError>
Tries to convert the provided byte buffer into Address.
type Error = AccountAddressParseError
type Error = AccountAddressParseError
The type returned in the event of a conversion error.
sourceimpl UpperHex for AccountAddress
impl UpperHex for AccountAddress
impl Copy for AccountAddress
impl Eq for AccountAddress
impl StructuralEq for AccountAddress
impl StructuralPartialEq for AccountAddress
Auto Trait Implementations
impl RefUnwindSafe for AccountAddress
impl Send for AccountAddress
impl Sync for AccountAddress
impl Unpin for AccountAddress
impl UnwindSafe for AccountAddress
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<T> ToHex for T where
T: AsRef<[u8]>,
impl<T> ToHex for T where
T: AsRef<[u8]>,
sourcefn encode_hex<U>(&self) -> U where
U: FromIterator<char>,
fn encode_hex<U>(&self) -> U where
U: FromIterator<char>,
Encode the hex strict representing self
into the result. Lower case
letters are used (e.g. f9b4ca
) Read more
sourcefn encode_hex_upper<U>(&self) -> U where
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> U where
U: FromIterator<char>,
Encode the hex strict representing self
into the result. Upper case
letters are used (e.g. F9B4CA
) Read more
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)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more