Module conjure_core::rule_engine

source ·

Modules§

Macros§

  • This procedural macro registers a rule set with the global registry. It may be used in any downstream crate.

Structs§

  • The result of applying a rule to an expression.
  • A rule with a name, application function, and rule sets.
  • A set of rules with a name, priority, and dependencies.

Enums§

Functions§

  • Get a rule by name. Returns the rule with the given name or None if it doesn’t exist.
  • Convert a list of rule sets into a final map of rules to their priorities.
  • Get a rule set by name. Returns the rule set with the given name or None if it doesn’t exist.
  • Get all rule sets Returns a Vec of static references to all rule sets registered with the register_rule_set macro. Rule sets are not guaranteed to be in any particular order.
  • Get all rule sets for a given solver family. Returns a Vec of static references to all rule sets that are applicable to the given solver family.
  • Returns a copied Vec of all rules registered with the register_rule macro.
  • Get a final ordering of rules based on their priorities and names.
  • Resolves the final set of rule sets to apply based on target solver and extra rule set names.
  • Rewrites the model by applying the rules to all constraints.

Type Aliases§

  • The result of applying a rule to an expression. Contains either a set of reduction instructions or an error.

Attribute Macros§

  • This procedural macro registers a decorated function with conjure_rules’ global registry, and adds the rule to one or more RuleSet’s.