fn iter(&self) -> impl Iterator<Item=Word> {
        let data_vec_lens: Vec<usize> =
            self.word_data.iter()
                .enumerate()
                .map(|(i, data_vec)| data_vec.len() / (i + 1))
                .collect();
        let mut i = 0;
        let mut j = 0;
        std::iter::from_fn(move || {
            while !(j < *data_vec_lens.get(i)?) {
                i += 1;
                j = 0;
            }
            let len = (i + 1) as u8;
            let idx = j;
            j += 1;
            Some(Word { len, idx })
        })
    }
/// Return an iterator over all words.
Return an iterator over all words.
Return an iterator over all words .
fn iter(&self) -> impl Iterator<Item=Word> {
        let data_vec_lens: Vec<usize> =
            self.word_data.iter()
                .enumerate()
                .map(|(i, data_vec)| data_vec.len() / (i + 1))
                .collect();
        let mut i = 0;
        let mut j = 0;
        std::iter::from_fn(move || {
            while !(j < *data_vec_lens.get(i)?) {
                i += 1;
                j = 0;
            }
            let len = (i + 1) as u8;
            let idx = j;
            j += 1;
            Some(Word { len, idx })
        })
    }
fn iter ( & self ) -> impl Iterator < Item = Word > { let data_vec_lens : Vec < usize > = self . word_data . iter ( ) . enumerate ( ) . map ( | ( i , data_vec ) | data_vec . len ( ) / ( i + 1 ) ) . collect ( ) ; let mut i = 0 ; let mut j = 0 ; std :: iter :: from_fn ( move | | { while ! ( j < * data_vec_lens . get ( i ) ? ) { i += 1 ; j = 0 ; } let len = ( i + 1 ) as u8 ; let idx = j ; j += 1 ; Some ( Word { len , idx } ) } ) }
Return an iterator over all words.
Return an iterator over all words .
&self