use std::iter::Enumerate; | |
use std::mem::size_of; | |
pub fn third<A, B, C>(t: (A, B, C)) -> C { t.2 } | |
pub fn enumerate<I>(iterable: I) -> Enumerate<I::IntoIter> | |
where I: IntoIterator | |
{ | |
iterable.into_iter().enumerate() | |
} | |
/// return the number of steps from a to b | |
pub fn ptrdistance<T>(a: *const T, b: *const T) -> usize { | |
debug_assert!(a as usize <= b as usize); | |
(b as usize - a as usize) / size_of::<T>() | |
} |