LowerHex

Trait LowerHex 

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

x formatting.

The LowerHex trait should format its output as a number in hexadecimal, with a through f in lower 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 y = 42; // 42 is '2a' in hex

assert_eq!(format!("{y:x}"), "2a");
assert_eq!(format!("{y:#x}"), "0x2a");

assert_eq!(format!("{:x}", -16), "fffffff0");

Implementing LowerHex on a type:

use std::fmt;

struct Length(i32);

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

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

let l = Length(9);

assert_eq!(format!("l as hex is: {l:x}"), "l as hex is: 9");

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

Required Methods§

1.0.0 · Source

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

Formats the value using the given formatter.

§Errors

This function should return Err if, and only if, the provided Formatter returns Err. String formatting is considered an infallible operation; this function only returns a Result because writing to the underlying stream might fail and it must provide a way to propagate the fact that an error has occurred back up the stack.

Implementors§

1.0.0 · Source§

impl LowerHex for i8

1.0.0 · Source§

impl LowerHex for i16

1.0.0 · Source§

impl LowerHex for i32

1.0.0 · Source§

impl LowerHex for i64

1.0.0 · Source§

impl LowerHex for i128

1.0.0 · Source§

impl LowerHex for isize

1.0.0 · Source§

impl LowerHex for u8

1.0.0 · Source§

impl LowerHex for u16

1.0.0 · Source§

impl LowerHex for u32

1.0.0 · Source§

impl LowerHex for u64

1.0.0 · Source§

impl LowerHex for u128

1.0.0 · Source§

impl LowerHex for usize

Source§

impl LowerHex for PtraceAccessMode

Source§

impl LowerHex for SecureBits

Source§

impl LowerHex for Access

Source§

impl LowerHex for InotifyMask

Source§

impl LowerHex for IptIpFlagsV4

Source§

impl LowerHex for IptIpFlagsV6

Source§

impl LowerHex for IptIpInverseFlags

Source§

impl LowerHex for NfIpHooks

Source§

impl LowerHex for NfNatRangeFlags

Source§

impl LowerHex for XtTcpInverseFlags

Source§

impl LowerHex for XtUdpInverseFlags

Source§

impl LowerHex for MountFlags

Source§

impl LowerHex for starnix_uapi::open_flags::OpenFlags

Source§

impl LowerHex for PersonalityFlags

Source§

impl LowerHex for SealFlags

Source§

impl LowerHex for UnmountFlags

Source§

impl LowerHex for FdEvents

Source§

impl LowerHex for ResolveFlags

§

impl LowerHex for AddressTaggingFeatureFlags

§

impl LowerHex for AllocateMode

§

impl LowerHex for AtRestFlags

§

impl LowerHex for BtiOptions

§

impl LowerHex for ClockOpts

§

impl LowerHex for ConfigMutability

§

impl LowerHex for ConfigMutability

§

impl LowerHex for CpuFeatureFlags

§

impl LowerHex for DebugLogOpts

§

impl LowerHex for DynamicFlags

§

impl LowerHex for ExceptionChannelOptions

§

impl LowerHex for FileSignal

§

impl LowerHex for Flags

§

impl LowerHex for IobAccess

§

impl LowerHex for JobCriticalOptions

§

impl LowerHex for MemoryStallKind

§

impl LowerHex for ModeType

§

impl LowerHex for NodeAttributeFlags

§

impl LowerHex for NodeAttributesQuery

§

impl LowerHex for NodeProtocolKinds

§

impl LowerHex for OpenFlags

§

impl LowerHex for Operations

§

impl LowerHex for PagerOptions

§

impl LowerHex for PagerWritebackBeginOptions

§

impl LowerHex for PortOptions

§

impl LowerHex for ProcessInfoFlags

§

impl LowerHex for ProcessOptions

§

impl LowerHex for RaiseExceptionOptions

§

impl LowerHex for ResourceFlag

§

impl LowerHex for ResourceKind

§

impl LowerHex for Rights

§

impl LowerHex for Signals

§

impl LowerHex for SocketOpts

§

impl LowerHex for SocketReadOpts

§

impl LowerHex for SocketWriteOpts

§

impl LowerHex for StreamOptions

§

impl LowerHex for StreamReadOptions

§

impl LowerHex for StreamWriteOptions

§

impl LowerHex for TransferDataOptions

§

impl LowerHex for UnlinkFlags

§

impl LowerHex for VirtualMemoryFeatureFlags

§

impl LowerHex for VmarFlags

§

impl LowerHex for VmarFlagsExtended

§

impl LowerHex for VmoChildOptions

§

impl LowerHex for VmoFlags

§

impl LowerHex for VmoInfoFlags

§

impl LowerHex for VmoOptions

§

impl LowerHex for WaitAsyncOpts

§

impl LowerHex for WatchMask

§

impl<'a, I> LowerHex for Format<'a, I>
where I: Iterator, <I as Iterator>::Item: LowerHex,

§

impl<'s, T> LowerHex for SliceVec<'s, T>
where T: LowerHex,

§

impl<A> LowerHex for ArrayVec<A>
where A: Array, <A as Array>::Item: LowerHex,

§

impl<A> LowerHex for TinyVec<A>
where A: Array, <A as Array>::Item: LowerHex,

Source§

impl<O> LowerHex for I16<O>
where O: ByteOrder,

Source§

impl<O> LowerHex for I32<O>
where O: ByteOrder,

Source§

impl<O> LowerHex for I64<O>
where O: ByteOrder,

Source§

impl<O> LowerHex for I128<O>
where O: ByteOrder,

Source§

impl<O> LowerHex for Isize<O>
where O: ByteOrder,

Source§

impl<O> LowerHex for U16<O>
where O: ByteOrder,

Source§

impl<O> LowerHex for U32<O>
where O: ByteOrder,

Source§

impl<O> LowerHex for U64<O>
where O: ByteOrder,

Source§

impl<O> LowerHex for U128<O>
where O: ByteOrder,

Source§

impl<O> LowerHex for Usize<O>
where O: ByteOrder,

1.0.0 · Source§

impl<T> LowerHex for &T
where T: LowerHex + ?Sized,

1.0.0 · Source§

impl<T> LowerHex for &mut T
where T: LowerHex + ?Sized,

1.28.0 · Source§

impl<T> LowerHex for NonZero<T>

1.74.0 · Source§

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

1.11.0 · Source§

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