Function morton_encoding::morton_encode_generic_checked[][src]

pub fn morton_encode_generic_checked<Coor, Key, Coors>(
    coors: Coors
) -> Option<Key> where
    Coor: ToPrimitive,
    Key: ValidKey<Coor>,
    Coors: IntoIterator<Item = Coor>,
    <Coors as IntoIterator>::IntoIter: ExactSizeIterator

Receives an iterator of Coor values and encodes them all in a Option<Key> value.

Returns a None if the iterator is empty, or if it is too large for all the Coor values contained within to fit inside a Key type.

Examples

assert_eq!(morton_encode_generic_checked(vec!(1u8, 1)), Some(3u16));
assert_eq!(morton_encode_generic_checked::<u16, u32, Vec<u16>>(vec!()), None);
assert_eq!(morton_encode_generic_checked::<_, u16, _>(vec!(0u8, 255, 200)), None);