Trait divide_range::RangeDivisions [−][src]
pub trait RangeDivisions<T: Num + FromPrimitive + PartialOrd + Copy> { fn divide_evenly_into(self, divisions: usize) -> Even<T>; }
Split range into an iterator of smaller ranges
Required Methods
ⓘImportant traits for Even<T>
fn divide_evenly_into(self, divisions: usize) -> Even<T>
This splitting method minimises the difference between the smallest and largest ranges in the output.
extern crate divide_range; use divide_range::RangeDivisions; let range = 1..18; let mut iter = range.divide_evenly_into(5); assert_eq!(Some(1..4), iter.next()); assert_eq!(Some(4..7), iter.next()); assert_eq!(Some(7..10), iter.next()); assert_eq!(Some(10..14), iter.next()); assert_eq!(Some(14..18), iter.next()); assert_eq!(None, iter.next());
Implementations on Foreign Types
impl<T: Num + FromPrimitive + PartialOrd + Copy> RangeDivisions<T> for Range<T>
[src]
impl<T: Num + FromPrimitive + PartialOrd + Copy> RangeDivisions<T> for Range<T>
ⓘImportant traits for Even<T>fn divide_evenly_into(self, divisions: usize) -> Even<T>
[src]
ⓘImportant traits for Even<T>
fn divide_evenly_into(self, divisions: usize) -> Even<T>