pub fn step(&mut self) -> bool {
        let stage = self.stage.as_usize();

        match &mut self.recursive_generator {
            Some(g) => {
                self.insert_location += 1;

                if self.insert_location == stage {
                    self.insert_location = 0;

                    g.step()
                } else {
                    true
                }
            }
            None => {
                self.array_index += 1;

                self.array_index < EXTENT_LENGTHS[stage]
            }
        }
    }
// Moves the iterator on by a step, returns true if there is are more permutations to come
Moves the iterator on by a step, returns true if there is are more permutations to come
Moves the iterator on by a step returns true if there is are more permutations to come
pub fn step(&mut self) -> bool {
        let stage = self.stage.as_usize();
        match &mut self.recursive_generator {
            Some(g) => {
                self.insert_location += 1;
                if self.insert_location == stage {
                    self.insert_location = 0;
                    g.step()
                } else {
                    true
                }
            }
            None => {
                self.array_index += 1;
                self.array_index < EXTENT_LENGTHS[stage]
            }
        }
    }
pub fn step ( & mut self ) -> bool { let stage = self . stage . as_usize ( ) ; match & mut self . recursive_generator { Some ( g ) => { self . insert_location += 1 ; if self . insert_location == stage { self . insert_location = 0 ; g . step ( ) } else { true } } None => { self . array_index += 1 ; self . array_index < EXTENT_LENGTHS [ stage ] } } }
Moves the iterator on by a step, returns true if there is are more permutations to come
Moves the iterator on by a step returns true if there is are more permutations to come
&mut self
&mut self