pub fn less_than<A, B, T, Fa, Fb>(
left: Fa,
right: Fb,
) -> LessThanJoiner<Fa, Fb, T>Expand description
Creates a joiner that matches when left(a) < right(b).
ยงExample
use solverforge_scoring::stream::joiner::{Joiner, less_than};
#[derive(Clone)]
struct Task { end: i64, start: i64 }
// Task A must end before Task B starts
let sequential = less_than(|t: &Task| t.end, |t: &Task| t.start);
assert!(sequential.matches(
&Task { end: 10, start: 0 },
&Task { end: 20, start: 15 }
));
assert!(!sequential.matches(
&Task { end: 10, start: 0 },
&Task { end: 20, start: 5 }
));