pub fn get_next_move(
    context: &mut SearchContext,
    state: &mut MoveGenState
) -> Option<(Move, i16)>
Expand description

Gets a next move to analyze. This function acts as pseudo-iterator and takes care about managing move generator stages, which is basically a state machine (https://en.wikipedia.org/wiki/Finite-state_machine) with following rules:

If the last stage is set and there are no more moves, None is returned.