[][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 array with iterator.

Examples

use array_tools;
 
// If iterator yields less items than array capacity, this function will return `None`.
let maybe_array: Option<[u64; 5]> = array_tools::try_init_from_iterator(0..4);
assert_eq!(maybe_array, None);
 
// If iterator yields just enough items to fill array, this function will `Some(array)`.
let maybe_array: Option<[u64; 5]> = array_tools::try_init_from_iterator(0..5);
assert_eq!(maybe_array, Some([0, 1, 2, 3, 4]));
 
// If iterator yields more items than array capacity, only required amount of items will be
// taken, function will return `Some(array)`.
let maybe_array: Option<[u32; 5]> = array_tools::try_init_from_iterator(0..100);
assert_eq!(maybe_array, Some([0, 1, 2, 3, 4]));