Trait collections::enum_set::CLike
[−]
[src]
pub trait CLike {
fn to_usize(&self) -> usize;
fn from_usize(usize) -> Self;
}Unstable
An interface for casting C-like enum to usize and back. A typically implementation is as below.
fn main() { #[repr(usize)] enum Foo { A, B, C } impl CLike for Foo { fn to_usize(&self) -> usize { *self as usize } fn from_usize(v: usize) -> Foo { unsafe { mem::transmute(v) } } } }#[repr(usize)] enum Foo { A, B, C } impl CLike for Foo { fn to_usize(&self) -> usize { *self as usize } fn from_usize(v: usize) -> Foo { unsafe { mem::transmute(v) } } }
Required Methods
fn to_usize(&self) -> usize
Unstable
Converts a C-like enum to a usize`usize`.
fn from_usize(usize) -> Self
Unstable
Converts a usize`usize` to a C-like enum.