Function constmuck::contiguous::into_integer [−][src]
pub const fn into_integer<T, IntRepr>(
value: T,
_bounds: ImplsContiguous<T, IntRepr>
) -> IntRepr
Expand description
Converts value: T
into IntRepr
(its integer representation).
Requires that T
implements Contiguous<Int = IntRepr>
Example
use constmuck::{Contiguous, contiguous, infer};
#[repr(i8)]
#[derive(Debug, PartialEq, Copy, Clone)]
enum Order {
FrontToBack = 10,
BackToFront = 11,
RightToLeft = 12,
LeftToRight = 13,
}
unsafe impl Contiguous for Order {
type Int = i8;
const MIN_VALUE: i8 = 10;
const MAX_VALUE: i8 = 13;
}
const FTB: i8 = contiguous::into_integer(Order::FrontToBack, infer!());
assert_eq!(FTB, 10);
const BTF: i8 = contiguous::into_integer(Order::BackToFront, infer!());
assert_eq!(BTF, 11);
const RTL: i8 = contiguous::into_integer(Order::RightToLeft, infer!());
assert_eq!(RTL, 12);
const LTR: i8 = contiguous::into_integer(Order::LeftToRight, infer!());
assert_eq!(LTR, 13);