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