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.

Implementors