Trait Binary

1.36.0 · Source
pub trait Binary {
    // Required method
    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}
Available on crate feature wayland and Linux only.
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

§

impl Binary for cosmic::iced::clipboard::dnd::DndAction

§

impl Binary for cosmic::iced::daemon::program::graphics::text::cosmic_text::harfrust::BufferFlags

§

impl Binary for cosmic::iced::daemon::program::graphics::text::cosmic_text::harfrust::SerializeFlags

§

impl Binary for BitmapFlags

§

impl Binary for PaletteType

§

impl Binary for PermissionFlags

§

impl Binary for GaspRangeBehavior

§

impl Binary for CompositeGlyphFlags

§

impl Binary for SimpleGlyphFlags

§

impl Binary for ValueFormat

§

impl Binary for GvarFlags

§

impl Binary for cosmic::iced::daemon::program::graphics::text::cosmic_text::skrifa::raw::tables::head::Flags

§

impl Binary for MacStyle

§

impl Binary for SelectionFlags

§

impl Binary for HeaderFlags

§

impl Binary for AxisValueTableFlags

§

impl Binary for VarcFlags

§

impl Binary for EntryFormat

§

impl Binary for CacheKeyFlags

§

impl Binary for cosmic::iced::keyboard::Modifiers

Source§

impl Binary for cosmic::cctk::cosmic_protocols::workspace::v2::client::zcosmic_workspace_handle_v2::State

Source§

impl Binary for cosmic::cctk::cosmic_protocols::workspace::v2::client::zcosmic_workspace_handle_v2::WorkspaceCapabilities

Source§

impl Binary for cosmic::cctk::cosmic_protocols::workspace::v2::server::zcosmic_workspace_handle_v2::State

Source§

impl Binary for cosmic::cctk::cosmic_protocols::workspace::v2::server::zcosmic_workspace_handle_v2::WorkspaceCapabilities

§

impl Binary for cosmic::cctk::screencopy::CaptureOptions

§

impl Binary for cosmic::cctk::sctk::shell::wlr_layer::Anchor

§

impl Binary for WindowManagerCapabilities

§

impl Binary for WindowState

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::ext::background_effect::v1::client::ext_background_effect_manager_v1::Capability

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::ext::background_effect::v1::server::ext_background_effect_manager_v1::Capability

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::ext::image_copy_capture::v1::server::ext_image_copy_capture_manager_v1::Options

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::ext::workspace::v1::client::ext_workspace_group_handle_v1::GroupCapabilities

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::ext::workspace::v1::client::ext_workspace_handle_v1::State

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::ext::workspace::v1::client::ext_workspace_handle_v1::WorkspaceCapabilities

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::ext::workspace::v1::server::ext_workspace_group_handle_v1::GroupCapabilities

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::ext::workspace::v1::server::ext_workspace_handle_v1::State

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::ext::workspace::v1::server::ext_workspace_handle_v1::WorkspaceCapabilities

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::wp::linux_dmabuf::zv1::client::zwp_linux_buffer_params_v1::Flags

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::wp::linux_dmabuf::zv1::client::zwp_linux_dmabuf_feedback_v1::TrancheFlags

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::wp::linux_dmabuf::zv1::server::zwp_linux_buffer_params_v1::Flags

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::wp::linux_dmabuf::zv1::server::zwp_linux_dmabuf_feedback_v1::TrancheFlags

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::wp::presentation_time::client::wp_presentation_feedback::Kind

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::wp::presentation_time::server::wp_presentation_feedback::Kind

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::wp::text_input::zv1::client::zwp_text_input_v1::ContentHint

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::wp::text_input::zv1::server::zwp_text_input_v1::ContentHint

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::wp::text_input::zv3::client::zwp_text_input_v3::ContentHint

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::wp::text_input::zv3::server::zwp_text_input_v3::ContentHint

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::xdg::shell::client::xdg_positioner::ConstraintAdjustment

§

impl Binary for cosmic::cctk::sctk::reexports::protocols::xdg::shell::server::xdg_positioner::ConstraintAdjustment

§

impl Binary for cosmic::cctk::sctk::reexports::protocols_experimental::input_method::v1::client::xx_input_popup_positioner_v1::ConstraintAdjustment

§

impl Binary for cosmic::cctk::sctk::reexports::protocols_wlr::layer_shell::v1::client::zwlr_layer_surface_v1::Anchor

§

impl Binary for cosmic::cctk::sctk::reexports::protocols_wlr::layer_shell::v1::server::zwlr_layer_surface_v1::Anchor

§

impl Binary for cosmic::cctk::sctk::reexports::protocols_wlr::screencopy::v1::client::zwlr_screencopy_frame_v1::Flags

§

impl Binary for cosmic::cctk::sctk::reexports::protocols_wlr::screencopy::v1::server::zwlr_screencopy_frame_v1::Flags

§

impl Binary for cosmic::cctk::sctk::reexports::client::protocol::wl_data_device_manager::DndAction

§

impl Binary for cosmic::cctk::sctk::reexports::client::protocol::wl_output::Mode

§

impl Binary for cosmic::cctk::sctk::reexports::client::protocol::wl_seat::Capability

§

impl Binary for cosmic::cctk::sctk::reexports::client::protocol::wl_shell_surface::Resize

§

impl Binary for cosmic::cctk::sctk::reexports::client::protocol::wl_shell_surface::Transient

Source§

impl Binary for bf16

Source§

impl Binary for f16

Source§

impl Binary for ron::extensions::Extensions

Source§

impl Binary for ron::extensions::Extensions

Source§

impl Binary for Z0

Source§

impl Binary for UInt<UTerm, B0>

Source§

impl Binary for UInt<UTerm, B1>

Source§

impl Binary for UTerm

§

impl Binary for Access

§

impl Binary for Access

§

impl Binary for AtFlags

§

impl Binary for AtFlags

§

impl Binary for AtomicCommitFlags

§

impl Binary for BufferFlags

§

impl Binary for CapabilitiesSecureBits

§

impl Binary for Capability

§

impl Binary for Capability

§

impl Binary for Capability

§

impl Binary for CapabilitySet

§

impl Binary for ContentHint

§

impl Binary for CreateFlags

§

impl Binary for CreateFlags

§

impl Binary for CreateFlags

§

impl Binary for DndAction

§

impl Binary for DupFlags

§

impl Binary for DupFlags

§

impl Binary for EventFlags

§

impl Binary for EventKindMask

§

impl Binary for EventMask

§

impl Binary for EventfdFlags

§

impl Binary for FallocateFlags

§

impl Binary for FallocateFlags

§

impl Binary for FbCmd2Flags

§

impl Binary for FdFlags

§

impl Binary for FdFlags

§

impl Binary for Flags

§

impl Binary for FloatingPointEmulationControl

§

impl Binary for FloatingPointExceptionMode

§

impl Binary for Gid

§

impl Binary for IFlags

§

impl Binary for IFlags

§

impl Binary for ImeHint

§

impl Binary for MapFlags

§

impl Binary for MembarrierQuery

§

impl Binary for MemfdFlags

§

impl Binary for MemfdFlags

§

impl Binary for MlockAllFlags

§

impl Binary for MlockFlags

§

impl Binary for Mode

§

impl Binary for Mode

§

impl Binary for Mode

§

impl Binary for ModeFlags

§

impl Binary for ModePropFlags

§

impl Binary for ModeTypeFlags

§

impl Binary for Modifiers

§

impl Binary for Modifiers

§

impl Binary for ModifiersKeys

§

impl Binary for ModifiersState

§

impl Binary for MountFlags

§

impl Binary for MountPropagationFlags

§

impl Binary for MprotectFlags

§

impl Binary for MremapFlags

§

impl Binary for MsyncFlags

§

impl Binary for OFlags

§

impl Binary for OFlags

§

impl Binary for PageFlipFlags

§

impl Binary for Pid

§

impl Binary for PidfdFlags

§

impl Binary for PidfdGetfdFlags

§

impl Binary for PipeFlags

§

impl Binary for PollFlags

§

impl Binary for ProtFlags

§

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 Resize

§

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 SerializeFlags

§

impl Binary for ShmOFlags

§

impl Binary for ShmOFlags

§

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 TaggedAddressMode

§

impl Binary for ThreadNameSpaceType

§

impl Binary for TimerfdFlags

§

impl Binary for TimerfdTimerFlags

§

impl Binary for Transformations

§

impl Binary for Transformations

§

impl Binary for Transient

§

impl Binary for TxTimeFlags

§

impl Binary for Uid

§

impl Binary for UnalignedAccessControl

§

impl Binary for UnmountFlags

§

impl Binary for UnshareFlags

§

impl Binary for UserfaultfdFlags

§

impl Binary for VblankWaitFlags

§

impl Binary for WaitFlags

§

impl Binary for WaitIdOptions

§

impl Binary for WaitOptions

§

impl Binary for WaitvFlags

§

impl Binary for WatchFlags

§

impl Binary for WatchFlags

§

impl Binary for WatchMask

§

impl Binary for WindowButtons

§

impl Binary for XattrFlags

§

impl Binary for XattrFlags

§

impl Binary for XdpDescOptions

§

impl Binary for XdpOptionsFlags

§

impl Binary for XdpRingFlags

§

impl Binary for XdpUmemRegFlags

§

impl Binary for xkb_state_component

§

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

§

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

§

impl<A> Binary for TinyVec<A>
where A: Array, <A as Array>::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<T> Binary for BitFlags<T>
where T: BitFlag, <T as RawBitFlags>::Numeric: Binary,

Source§

impl<U> Binary for NInt<U>
where U: Unsigned + NonZero + Binary,

Source§

impl<U> Binary for PInt<U>
where U: Unsigned + NonZero + Binary,

Source§

impl<U, B> Binary for UInt<UInt<U, B>, B0>
where U: Unsigned, B: Bit, UInt<U, B>: Binary,

Source§

impl<U, B> Binary for UInt<UInt<U, B>, B1>
where U: Unsigned, B: Bit, UInt<U, B>: Binary,