pub fn to_range_values<I, V>(it: I) -> Vec<(u32, u32, V)>
where
    I: IntoIterator<Item = (u32, V)>,
    V: Ord,
{
    let mut codepoints: Vec<(u32, V)> = it.into_iter().collect();
    codepoints.sort();
    codepoints.dedup();

    let mut ranges = vec![];
    for (cp, value) in codepoints {
        range_value_add(&mut ranges, cp, value);
    }
    ranges
}
/// Convert an iterator of codepoint-value associations into a vec of sorted
/// ranges.
///
/// This panics if the same codepoint is present multiple times.
Convert an iterator of codepoint-value associations into a vec of sorted
ranges.

This panics if the same codepoint is present multiple times.
Convert an iterator of codepoint - value associations into a vec of sorted ranges . This panics if the same codepoint is present multiple times .
pub fn to_range_values<I, V>(it: I) -> Vec<(u32, u32, V)>
where
    I: IntoIterator<Item = (u32, V)>,
    V: Ord,
{
    let mut codepoints: Vec<(u32, V)> = it.into_iter().collect();
    codepoints.sort();
    codepoints.dedup();
    let mut ranges = vec![];
    for (cp, value) in codepoints {
        range_value_add(&mut ranges, cp, value);
    }
    ranges
}
pub fn to_range_values < I , V > ( it : I ) -> Vec < ( u32 , u32 , V ) > where I : IntoIterator < Item = ( u32 , V ) > , V : Ord , { let mut codepoints : Vec < ( u32 , V ) > = it . into_iter ( ) . collect ( ) ; codepoints . sort ( ) ; codepoints . dedup ( ) ; let mut ranges = vec ! [ ] ; for ( cp , value ) in codepoints { range_value_add ( & mut ranges , cp , value ) ; } ranges }
Convert an iterator of codepoint-value associations into a vec of sorted
ranges.
Convert an iterator of codepoint - value associations into a vec of sorted ranges .
it
I
it
I