[−][src]Function array_tools::try_init_from_iterator
pub fn try_init_from_iterator<T, A, I>(iter: I) -> Option<A> where
A: FixedSizeArray<T>,
I: Iterator<Item = T>,
Attempts to initialize fixed-length array from iterator.
Examples
use array_tools; // Attempt to initialize array with iterator yielding not enough items will result in returning // `None`. All taken items will be dropped. let maybe_array: Option<[u64; 5]> = array_tools::try_init_from_iterator(1..=4); assert_eq!(maybe_array, None); // Attempt to initialize array with iterator yielding number of items equal to array length // will result in returning `Some` containing array. let maybe_array: Option<[u64; 5]> = array_tools::try_init_from_iterator(1..=5); assert_eq!(maybe_array, Some([1, 2, 3, 4, 5])); // Attempt to inititalize array with iterator yielding too many items (Mare than array can // contain) will result in taking length-of-array items from iterator and returning `Some` // containing array. Iterator with all remaining items will be dropped. let maybe_array: Option<[u32; 5]> = array_tools::try_init_from_iterator(1..=100); assert_eq!(maybe_array, Some([1, 2, 3, 4, 5]));