ordermap/util.rs
1
2use std::iter::Enumerate;
3use std::mem::size_of;
4
5pub fn third<A, B, C>(t: (A, B, C)) -> C { t.2 }
6
7pub fn enumerate<I>(iterable: I) -> Enumerate<I::IntoIter>
8 where I: IntoIterator
9{
10 iterable.into_iter().enumerate()
11}
12
13/// return the number of steps from a to b
14pub fn ptrdistance<T>(a: *const T, b: *const T) -> usize {
15 debug_assert!(a as usize <= b as usize);
16 (b as usize - a as usize) / size_of::<T>()
17}