#comparator #equivalence #classification #equivalence-class

classific

Classifications, comparator and equivalence class implementations

4 releases

Uses old Rust 2015

0.1.4 Jun 27, 2020
0.1.3 Jun 27, 2020
0.1.2 Jun 27, 2020
0.1.1 Jun 27, 2020

#1243 in Algorithms

MIT/Apache

35KB
716 lines

Classific Build Status

A Rust library for classifications like comparators and equivalence classes.

Links:

Usage

Add this to your Cargo.toml:

[dependencies]
classific = "0.1"

Examples

use classific::{Comparator, EqClass, comparing_with, reverse_order, eq_by};

#[derive(PartialEq, Eq, Debug)]
struct Person<'a> {
    name: &'a str,
    age: u8,
}

fn main() {
    let foo = Person {
        name: "Foo",
        age: 32,
    };
    let bar = Person {
        name: "Bar",
        age: 32,
    };

    assert!(eq_by(|p: &Person| p.age).eq(&foo, &bar));
    assert_eq!(comparing_with(|p: &Person| p.name, reverse_order()).max(&foo, &bar), &bar);
}

No runtime deps