leaderboard 0.1.2

Provides leaderboard functions for Vec such as ranking with ex aequos
Documentation
mod ranges_util;
mod leaderboard_trait;
mod ranked_iter;
mod sections_iter;
pub use leaderboard_trait::{Ranking, Sections};
pub use sections_iter::View;

#[cfg(test)]
mod tests {
    use crate::{*, leaderboard_trait::Sections};

    #[test]
    fn it_works() {
        let scores = vec![
            150, 142, 138, 138, 135, 120, 101, 83, 66, 61, 61
        ];
        let ranking: Vec<_> = scores.iter_ranked().collect();
        let last = ranking.len();
        let mut rank = 1;
        for view in ranking.iter_sections(vec![0..3, last-3..last]) {
            if let View::Skipped(offset) = view {
                println!("...");
                rank += offset
            } else {
                println!("{rank}. {view:?}");
                rank += 1
            };
        }
    }
}