macro_rules! impl_incremental_nary_constraint {
(bi, $struct_name:ident) => { ... };
(tri, $struct_name:ident) => { ... };
(quad, $struct_name:ident) => { ... };
(penta, $struct_name:ident) => { ... };
}Expand description
Generates an incremental N-ary constraint struct and implementations.
This macro produces:
- The constraint struct with all fields
- Constructor
new() - Private helper methods
compute_score(),insert_entity(),retract_entity() - Full
IncrementalConstraint<S, Sc>trait implementation Debugimplementation
ยงUsage
impl_incremental_nary_constraint!(bi, IncrementalBiConstraint, (usize, usize), 2, a b);
impl_incremental_nary_constraint!(tri, IncrementalTriConstraint, (usize, usize, usize), 3, a b c);
impl_incremental_nary_constraint!(quad, IncrementalQuadConstraint, (usize, usize, usize, usize), 4, a b c d);
impl_incremental_nary_constraint!(penta, IncrementalPentaConstraint, (usize, usize, usize, usize, usize), 5, a b c d e);