Trait floresta_common::prelude::fmt::UpperHex

1.0.0 · source ·
pub trait UpperHex {
    // Required method
    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}
Expand description

X formatting.

The UpperHex trait should format its output as a number in hexadecimal, with A through F in upper case.

For primitive signed integers (i8 to i128, and isize), negative values are formatted as the two’s complement representation.

The alternate flag, #, adds a 0x in front of the output.

For more information on formatters, see the module-level documentation.

Examples

Basic usage with i32:

let x = 42; // 42 is '2A' in hex

assert_eq!(format!("{x:X}"), "2A");
assert_eq!(format!("{x:#X}"), "0x2A");

assert_eq!(format!("{:X}", -16), "FFFFFFF0");

Implementing UpperHex on a type:

use std::fmt;

struct Length(i32);

impl fmt::UpperHex for Length {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        let val = self.0;

        fmt::UpperHex::fmt(&val, f) // delegate to i32's implementation
    }
}

let l = Length(i32::MAX);

assert_eq!(format!("l as hex is: {l:X}"), "l as hex is: 7FFFFFFF");

assert_eq!(format!("l as hex is: {l:#010X}"), "l as hex is: 0x7FFFFFFF");

Required Methods§

source

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter.

Implementors§

source§

impl UpperHex for LeafVersion

source§

impl UpperHex for i8

source§

impl UpperHex for i16

source§

impl UpperHex for i32

source§

impl UpperHex for i64

source§

impl UpperHex for i128

source§

impl UpperHex for isize

source§

impl UpperHex for u8

source§

impl UpperHex for u16

source§

impl UpperHex for u32

source§

impl UpperHex for u64

source§

impl UpperHex for u128

source§

impl UpperHex for usize

source§

impl UpperHex for ChainCode

source§

impl UpperHex for Fingerprint

source§

impl UpperHex for XKeyIdentifier

source§

impl UpperHex for XpubIdentifier

source§

impl UpperHex for ShortId

source§

impl UpperHex for ChainHash

source§

impl UpperHex for Script

source§

impl UpperHex for ScriptBuf

source§

impl UpperHex for ScriptHash

source§

impl UpperHex for WScriptHash

source§

impl UpperHex for Sequence

source§

impl UpperHex for SerializedSignature

source§

impl UpperHex for PubkeyHash

source§

impl UpperHex for WPubkeyHash

source§

impl UpperHex for LegacySighash

source§

impl UpperHex for SegwitV0Sighash

source§

impl UpperHex for TapSighash

source§

impl UpperHex for BlockHash

source§

impl UpperHex for FilterHash

source§

impl UpperHex for FilterHeader

source§

impl UpperHex for TxMerkleNode

source§

impl UpperHex for Txid

source§

impl UpperHex for WitnessCommitment

source§

impl UpperHex for WitnessMerkleNode

source§

impl UpperHex for Wtxid

source§

impl UpperHex for Magic

source§

impl UpperHex for ServiceFlags

source§

impl UpperHex for Target

source§

impl UpperHex for U256

source§

impl UpperHex for Work

source§

impl UpperHex for FutureLeafVersion

source§

impl UpperHex for TapLeafHash

source§

impl UpperHex for TapNodeHash

source§

impl UpperHex for TapTweakHash

source§

impl UpperHex for bitcoin_hashes::hash160::Hash

source§

impl UpperHex for bitcoin_hashes::ripemd160::Hash

source§

impl UpperHex for bitcoin_hashes::sha1::Hash

source§

impl UpperHex for bitcoin_hashes::sha256::Hash

source§

impl UpperHex for Midstate

source§

impl UpperHex for bitcoin_hashes::sha256d::Hash

source§

impl UpperHex for bitcoin_hashes::sha512::Hash

source§

impl UpperHex for bitcoin_hashes::sha512_256::Hash

source§

impl UpperHex for bitcoin_hashes::siphash24::Hash

source§

impl UpperHex for miniscript::miniscript::hash256::Hash

1.34.0 · source§

impl UpperHex for NonZeroI8

1.34.0 · source§

impl UpperHex for NonZeroI16

1.34.0 · source§

impl UpperHex for NonZeroI32

1.34.0 · source§

impl UpperHex for NonZeroI64

1.34.0 · source§

impl UpperHex for NonZeroI128

1.34.0 · source§

impl UpperHex for NonZeroIsize

1.28.0 · source§

impl UpperHex for NonZeroU8

1.28.0 · source§

impl UpperHex for NonZeroU16

1.28.0 · source§

impl UpperHex for NonZeroU32

1.28.0 · source§

impl UpperHex for NonZeroU64

1.28.0 · source§

impl UpperHex for NonZeroU128

1.28.0 · source§

impl UpperHex for NonZeroUsize

source§

impl<'a> UpperHex for bitcoin_internals::hex::display::DisplayByteSlice<'a>

source§

impl<'a> UpperHex for hex_conservative::display::DisplayByteSlice<'a>

source§

impl<A, B> UpperHex for bitcoin_internals::hex::display::DisplayArray<A, B>where A: Clone + IntoIterator, B: FixedLenBuf, <A as IntoIterator>::Item: Borrow<u8>,

source§

impl<A, B> UpperHex for hex_conservative::display::DisplayArray<A, B>where A: Clone + IntoIterator, B: FixedLenBuf, <A as IntoIterator>::Item: Borrow<u8>,

source§

impl<T> UpperHex for &Twhere T: UpperHex + ?Sized,

source§

impl<T> UpperHex for &mut Twhere T: UpperHex + ?Sized,

source§

impl<T> UpperHex for bitcoin_hashes::sha256t::Hash<T>where T: Tag,

source§

impl<T> UpperHex for GenericArray<u8, T>where T: ArrayLength<u8> + Add<T>, <T as Add<T>>::Output: ArrayLength<u8>,

1.74.0 · source§

impl<T> UpperHex for Saturating<T>where T: UpperHex,

1.11.0 · source§

impl<T> UpperHex for Wrapping<T>where T: UpperHex,