pub fn walk(&mut self) -> Option<Vec<(usize, usize)>> {
        let length = self.groups[self.indices[0]].len();

        for i in 0..length {
            for ref suffix in &self.groups[self.indices[0]][i] {
                self.start = i;
                match self.walk_chain(**suffix, 1) {
                    Some(mut v) => {
                        v.push((self.start, **suffix));
                        return Some(v)
                    }

                    None => ()
                }
            }
        }

        None
    }
/// Walk the set of groups for a single-chain.
///
/// Returns the chain if one was found.
Walk the set of groups for a single-chain.
Returns the chain if one was found.
Walk the set of groups for a single - chain . Returns the chain if one was found .
pub fn walk(&mut self) -> Option<Vec<(usize, usize)>> {
        let length = self.groups[self.indices[0]].len();
        for i in 0..length {
            for ref suffix in &self.groups[self.indices[0]][i] {
                self.start = i;
                match self.walk_chain(**suffix, 1) {
                    Some(mut v) => {
                        v.push((self.start, **suffix));
                        return Some(v)
                    }
                    None => ()
                }
            }
        }
        None
    }
pub fn walk ( & mut self ) -> Option < Vec < ( usize , usize ) > > { let length = self . groups [ self . indices [ 0 ] ] . len ( ) ; for i in 0 .. length { for ref suffix in & self . groups [ self . indices [ 0 ] ] [ i ] { self . start = i ; match self . walk_chain ( * * suffix , 1 ) { Some ( mut v ) => { v . push ( ( self . start , * * suffix ) ) ; return Some ( v ) } None => ( ) } } } None }
Walk the set of groups for a single-chain.
Walk the set of groups for a single - chain .
&mut self