leaderboard 0.1.2

Provides leaderboard functions for Vec such as ranking with ex aequos
Documentation
pub struct RankedIter<'a, E: PartialEq> {
    data: &'a Vec<E>,
    i: usize
}

impl<'a, E: PartialEq> RankedIter<'a, E> {
    pub fn new(data: &'a Vec<E>) -> Self {
        RankedIter { data: data, i: 0 }
    }
}

impl<'a, E: PartialEq> Iterator for RankedIter<'a, E> {
    type Item = &'a [E];

    fn next(&mut self) -> Option<Self::Item> {
        if self.i >= self.data.len() {
            return None;
        }
        let mut j = self.i+1;
        while j < self.data.len() && self.data[self.i] == self.data[j] {
            j += 1;
        }
        let res = &self.data[self.i..j];
        self.i = j;
        Some(res)
    }
}