Skip to main content

CommandId

Struct CommandId 

Source
pub struct CommandId(/* private fields */);
Expand description

Opaque command identifier. Wrap an enum variant (or a u32) to make it comparable and hashable without storing strings at runtime.

§Example

use egui_command::CommandId;

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
enum AppCmd {
    ShowHelp,
    RenameProfile,
}

let id = CommandId::new(AppCmd::ShowHelp);
assert_eq!(id, CommandId::new(AppCmd::ShowHelp));
assert_ne!(id, CommandId::new(AppCmd::RenameProfile));

Implementations§

Source§

impl CommandId

Source

pub fn new<T: Hash>(value: T) -> Self

Create a CommandId from any value that can be hashed.

Uses FxHasher — a deterministic, platform-stable hasher — so that the same value always produces the same CommandId across process restarts, Rust versions, and platforms.

Source

pub fn raw(self) -> u64

Raw numeric value.

The underlying hash is stable within a build (same input → same output across runs, versions, and platforms when using the same FxHasher). Suitable for in-memory keying; treat persistence across binary upgrades with caution unless the hashed type’s discriminant is stable.

Source

pub fn from_raw(v: u64) -> Self

Construct from a raw value (e.g. round-tripping through an integer key).

Trait Implementations§

Source§

impl Clone for CommandId

Source§

fn clone(&self) -> CommandId

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CommandId

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Hash for CommandId

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for CommandId

Source§

fn eq(&self, other: &CommandId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for CommandId

Source§

impl Eq for CommandId

Source§

impl StructuralPartialEq for CommandId

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.