leaderboard 0.1.2

Provides leaderboard functions for Vec such as ranking with ex aequos
Documentation
use std::ops::Range;
use crate::{ranked_iter::RankedIter, sections_iter::SectionsIter};

pub trait Ranking<E: PartialEq> {
    fn iter_ranked(&self) -> RankedIter<E>;
}

pub trait Sections<E> {
    fn iter_sections(&self, ranges: Vec<Range<usize>>) -> SectionsIter<E>;
}

impl<E: PartialEq> Ranking<E> for Vec<E> {
    fn iter_ranked(&self) -> RankedIter<E> {
        RankedIter::new(&self)
    }
}

impl<E> Sections<E> for Vec<E> {
    fn iter_sections(&self, ranges: Vec<Range<usize>>) -> SectionsIter<E> {
        SectionsIter::new(&self, ranges)
    }
}