impl_get_matches_nary

Macro impl_get_matches_nary 

Source
macro_rules! impl_get_matches_nary {
    (bi: $self:expr, $solution:expr) => { ... };
    (tri: $self:expr, $solution:expr) => { ... };
    (quad: $self:expr, $solution:expr) => { ... };
    (penta: $self:expr, $solution:expr) => { ... };
}
Expand description

Generates get_matches() implementation for N-ary self-join constraints.

All N-ary constraints share the same pattern:

  1. Extract entities and build key index
  2. Iterate over N-tuples within each key group
  3. Filter and collect DetailedConstraintMatch with EntityRefs

ยงUsage

This macro is used internally in constraint implementations:

fn get_matches(&self, solution: &S) -> Vec<DetailedConstraintMatch<Sc>> {
    impl_get_matches_nary!(bi: self, solution)
}

Available arities: bi, tri, quad, penta