[−]Struct ckb_types::H256
The 32-byte fixed-length binary data.
The name comes from the number of bits in the data.
In JSONRPC, it is encoded as a 0x-prefixed hex string.
Implementations
impl H256
pub fn as_bytes(&self) -> &[u8]
Converts Self
to a byte slice.
pub fn from_slice(input: &[u8]) -> Result<H256, FromSliceError>
To convert the byte slice back into Self
.
impl H256
pub fn from_trimmed_str(input: &str) -> Result<H256, FromStrError>
To convert a trimmed hexadecimal string into Self
.
If the beginning of a hexadecimal string are one or more zeros, then these zeros should be omitted.
There should be only one zero at the beginning of a hexadecimal string at most.
For example, if x
is H16
(a 16 bits binary data):
- when
x = [0, 0]
, the trimmed hexadecimal string should be "0" or "". - when
x = [0, 1]
, the trimmed hexadecimal string should be "1". - when
x = [1, 0]
, the trimmed hexadecimal string should be "100".
use ckb_fixed_hash_core::H256 as Hash; const bytes_size: usize = 32; let mut inner = [0u8; bytes_size]; { let actual = Hash(inner.clone()); let expected1 = Hash::from_trimmed_str("").unwrap(); let expected2 = Hash::from_trimmed_str("0").unwrap(); assert_eq!(actual, expected1); assert_eq!(actual, expected2); } { inner[bytes_size - 1] = 1; let actual = Hash(inner); let expected = Hash::from_trimmed_str("1").unwrap(); assert_eq!(actual, expected); } { assert!(Hash::from_trimmed_str("00").is_err()); assert!(Hash::from_trimmed_str("000").is_err()); assert!(Hash::from_trimmed_str("0000").is_err()); assert!(Hash::from_trimmed_str("01").is_err()); assert!(Hash::from_trimmed_str("001").is_err()); assert!(Hash::from_trimmed_str("0001").is_err()); }
Trait Implementations
impl AsMut<[u8]> for H256
impl AsRef<[u8]> for H256
impl Clone for H256
pub fn clone(&self) -> H256
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for H256
impl Default for H256
impl<'de> Deserialize<'de> for H256
pub fn deserialize<D>(
deserializer: D
) -> Result<H256, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
deserializer: D
) -> Result<H256, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
impl Display for H256
impl Eq for H256
impl From<[u8; 32]> for H256
impl FromStr for H256
type Err = FromStrError
The associated error which can be returned from parsing.
pub fn from_str(input: &str) -> Result<H256, <H256 as FromStr>::Err>
impl Hash for H256
pub fn hash<H>(&self, state: &mut H) where
H: Hasher,
H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl LowerHex for H256
impl Ord for H256
pub fn cmp(&self, other: &H256) -> Ordering
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl Pack<Byte32> for H256
[src]
impl PartialEq<H256> for H256
impl PartialOrd<H256> for H256
pub fn partial_cmp(&self, other: &H256) -> Option<Ordering>
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl Serialize for H256
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
impl<'r> Unpack<H256> for Byte32Reader<'r>
[src]
impl Unpack<H256> for Byte32
[src]
Auto Trait Implementations
impl RefUnwindSafe for H256
impl Send for H256
impl Sync for H256
impl Unpin for H256
impl UnwindSafe for H256
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,