conjure_oxide

Module rule_engine

Source

Modules§

Macros§

  • Register a rule set with the given name, priority, and dependencies.Example

Structs§

  • Represents the result of applying a rule to an expression within a model.
  • A rule with a name, application function, and rule sets.
  • A structure representing 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 given model by applying a set of rules to all its constraints.

Type Aliases§

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

Attribute Macros§