Trait Binary

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

b formatting.

The Binary trait should format its output as a number in binary.

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

The alternate flag, #, adds a 0b 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 '101010' in binary

assert_eq!(format!("{x:b}"), "101010");
assert_eq!(format!("{x:#b}"), "0b101010");

assert_eq!(format!("{:b}", -16), "11111111111111111111111111110000");

Implementing Binary on a type:

use std::fmt;

struct Length(i32);

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

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

let l = Length(107);

assert_eq!(format!("l as binary is: {l:b}"), "l as binary is: 1101011");

assert_eq!(
    // Note that the `0b` prefix added by `#` is included in the total width, so we
    // need to add two to correctly display all 32 bits.
    format!("l as binary is: {l:#034b}"),
    "l as binary is: 0b00000000000000000000000001101011"
);

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 Binary for i8

1.0.0 ยท Sourceยง

impl Binary for i16

1.0.0 ยท Sourceยง

impl Binary for i32

1.0.0 ยท Sourceยง

impl Binary for i64

1.0.0 ยท Sourceยง

impl Binary for i128

1.0.0 ยท Sourceยง

impl Binary for isize

1.0.0 ยท Sourceยง

impl Binary for u8

1.0.0 ยท Sourceยง

impl Binary for u16

1.0.0 ยท Sourceยง

impl Binary for u32

1.0.0 ยท Sourceยง

impl Binary for u64

1.0.0 ยท Sourceยง

impl Binary for u128

1.0.0 ยท Sourceยง

impl Binary for usize

Sourceยง

impl Binary for AttrCheckFlags

Sourceยง

impl Binary for CheckoutNotificationType

Sourceยง

impl Binary for CredentialType

Sourceยง

impl Binary for DiffFlags

Sourceยง

impl Binary for DiffStatsFormat

Sourceยง

impl Binary for IndexAddOption

Sourceยง

impl Binary for IndexEntryExtendedFlag

Sourceยง

impl Binary for IndexEntryFlag

Sourceยง

impl Binary for MergeAnalysis

Sourceยง

impl Binary for MergePreference

Sourceยง

impl Binary for OdbLookupFlags

Sourceยง

impl Binary for PathspecFlags

Sourceยง

impl Binary for ReferenceFormat

Sourceยง

impl Binary for RemoteUpdateFlags

Sourceยง

impl Binary for RepositoryInitMode

Sourceยง

impl Binary for RepositoryOpenFlags

Sourceยง

impl Binary for RevparseMode

Sourceยง

impl Binary for Sort

Sourceยง

impl Binary for StashApplyFlags

Sourceยง

impl Binary for StashFlags

Sourceยง

impl Binary for Status

Sourceยง

impl Binary for SubmoduleStatus

Sourceยง

impl Binary for BigInt

Sourceยง

impl Binary for CipherCtxFlags

Sourceยง

impl Binary for CMSOptions

Sourceยง

impl Binary for OcspFlag

Sourceยง

impl Binary for Pkcs7Flags

Sourceยง

impl Binary for ExtensionContext

Sourceยง

impl Binary for ShutdownState

Sourceยง

impl Binary for SslMode

Sourceยง

impl Binary for SslOptions

Sourceยง

impl Binary for SslSessionCacheMode

Sourceยง

impl Binary for SslVerifyMode

Sourceยง

impl Binary for X509CheckFlags

Sourceยง

impl Binary for X509VerifyFlags

ยง

impl Binary for Access

ยง

impl Binary for Access

ยง

impl Binary for AtFlags

ยง

impl Binary for AtFlags

ยง

impl Binary for ChannelType

ยง

impl Binary for ColorFallbackKind

ยง

impl Binary for ColorScheme

ยง

impl Binary for CreateFlags

ยง

impl Binary for CreateFlags

ยง

impl Binary for CreateFlags

ยง

impl Binary for DupFlags

ยง

impl Binary for DupFlags

ยง

impl Binary for ElementSelectorFlags

ยง

impl Binary for EventFlags

ยง

impl Binary for EventfdFlags

ยง

impl Binary for FallocateFlags

ยง

impl Binary for FallocateFlags

ยง

impl Binary for FdFlags

ยง

impl Binary for FdFlags

ยง

impl Binary for Features

ยง

impl Binary for FilterId

ยง

impl Binary for FloatingPointEmulationControl

ยง

impl Binary for FloatingPointExceptionMode

ยง

impl Binary for GridAutoFlow

ยง

impl Binary for IFlags

ยง

impl Binary for IFlags

ยง

impl Binary for MemfdFlags

ยง

impl Binary for MemfdFlags

ยง

impl Binary for Mode

ยง

impl Binary for Mode

ยง

impl Binary for MountFlags

ยง

impl Binary for MountPropagationFlags

ยง

impl Binary for OFlags

ยง

impl Binary for OFlags

ยง

impl Binary for ParserFlags

ยง

impl Binary for PidfdFlags

ยง

impl Binary for PidfdGetfdFlags

ยง

impl Binary for PipeFlags

ยง

impl Binary for PollFlags

ยง

impl Binary for ReadFlags

ยง

impl Binary for ReadFlags

ยง

impl Binary for ReadWriteFlags

ยง

impl Binary for ReadWriteFlags

ยง

impl Binary for RecvFlags

ยง

impl Binary for RenameFlags

ยง

impl Binary for RenameFlags

ยง

impl Binary for ResolveFlags

ยง

impl Binary for ResolveFlags

ยง

impl Binary for ReturnFlags

ยง

impl Binary for SealFlags

ยง

impl Binary for SealFlags

ยง

impl Binary for SendFlags

ยง

impl Binary for SocketAddrXdpFlags

ยง

impl Binary for SocketFlags

ยง

impl Binary for SpeculationFeatureControl

ยง

impl Binary for SpeculationFeatureState

ยง

impl Binary for SpliceFlags

ยง

impl Binary for StatVfsMountFlags

ยง

impl Binary for StatVfsMountFlags

ยง

impl Binary for StatxAttributes

ยง

impl Binary for StatxFlags

ยง

impl Binary for StatxFlags

ยง

impl Binary for TextDecorationLine

ยง

impl Binary for TextTransformOther

ยง

impl Binary for TimerfdFlags

ยง

impl Binary for TimerfdTimerFlags

ยง

impl Binary for UnalignedAccessControl

ยง

impl Binary for UnmountFlags

ยง

impl Binary for VendorPrefix

ยง

impl Binary for WaitIdOptions

ยง

impl Binary for WaitOptions

ยง

impl Binary for WatchFlags

ยง

impl Binary for WatchFlags

ยง

impl Binary for XattrFlags

ยง

impl Binary for XattrFlags

ยง

impl Binary for XdpDescOptions

ยง

impl Binary for XdpOptionsFlags

ยง

impl Binary for XdpRingFlags

ยง

impl Binary for XdpUmemRegFlags

Sourceยง

impl<'a, I> Binary for itertools::format::Format<'a, I>
where I: Iterator, <I as Iterator>::Item: Binary,

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

1.0.0 ยท Sourceยง

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

1.0.0 ยท Sourceยง

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

1.28.0 ยท Sourceยง

impl<T> Binary for NonZero<T>

1.74.0 ยท Sourceยง

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

1.11.0 ยท Sourceยง

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

ยง

impl<const MIN: i8, const MAX: i8> Binary for RangedI8<MIN, MAX>

ยง

impl<const MIN: i16, const MAX: i16> Binary for RangedI16<MIN, MAX>

ยง

impl<const MIN: i32, const MAX: i32> Binary for RangedI32<MIN, MAX>

ยง

impl<const MIN: i64, const MAX: i64> Binary for RangedI64<MIN, MAX>

ยง

impl<const MIN: i128, const MAX: i128> Binary for RangedI128<MIN, MAX>

ยง

impl<const MIN: isize, const MAX: isize> Binary for RangedIsize<MIN, MAX>

ยง

impl<const MIN: u8, const MAX: u8> Binary for RangedU8<MIN, MAX>

ยง

impl<const MIN: u16, const MAX: u16> Binary for RangedU16<MIN, MAX>

ยง

impl<const MIN: u32, const MAX: u32> Binary for RangedU32<MIN, MAX>

ยง

impl<const MIN: u64, const MAX: u64> Binary for RangedU64<MIN, MAX>

ยง

impl<const MIN: u128, const MAX: u128> Binary for RangedU128<MIN, MAX>

ยง

impl<const MIN: usize, const MAX: usize> Binary for RangedUsize<MIN, MAX>