Module hotdrink_rs::planner[][src]

Algorithms used in planning and solving of constraint systems.

Structs

EnforcedConstraint

A constraint with a &str name that has been enforced with method.

HierarchicalPlanner

TODO: Implement

OwnedEnforcedConstraint

A constraint with a String name that has been enforced with method.

Enums

MethodFailure

The potential errors from performing a method call.

PlanError

Errors that can occur during planning.

Traits

ComponentSpec

A trait for objects which have the properties of a component, a self-contained subgraph of a constraint system. The most important part is that it contains variables and constraints between them.

ConstraintSpec

A trait for objects that can act as constraints in a constraint system.

MethodSpec

An extension of the Vertex trait for methods.

Plan

A trait for planners to implement.

Vertex

Represents a type with input- and output-indices. This can be used to represent Vertices in graphs.

Functions

hierarchical_planner

Take a component as input, as well as a ranking of variables to know which ones should not be modified if possible. The leftmost variables will be prioritized.

simple_planner

Attempts to construct a plan from something that implements ComponentSpec.

simple_planner_toposort

Runs the simple_planner, and then topologically sorts the resulting plan. If successful, this plan can then be run to enforce all the constraints in the input-component.

Type Definitions

MethodFunction

The function contained within a method.

MethodResult

The result of calling a method’s function.