C++ Reference: class PropagatorInterface

This documentation is automatically generated.

Base class for CP like propagators.

TODO(user): Think about an incremental Propagate() interface.

TODO(user): Add shortcuts for the most used functions? like Min(IntegerVariable) and Max(IntegerVariable)?
Method
IncrementalPropagate

Return type: virtual bool

Arguments: const std::vector<int>& watch_indices

This will only be called on a non-empty vector, otherwise Propagate() will be called. The passed vector will contain the "watch index" of all the literals that were given one at registration and that changed since the last call to Propagate(). This is only true when going down in the search tree, on backjump this list will be cleared. Notes: - The indices may contain duplicates if the same integer variable as been updated many times or if different watched literals have the same watch_index. - At level zero, it will not contain any indices associated with literals that were already fixed when the propagator was registered. Only the indices of the literals modified after the registration will be present.

Propagate

Return type: virtual bool

This will be called after one or more literals that are watched by this propagator changed. It will also always be called on the first propagation cycle after registration.

PropagatorInterface

~PropagatorInterface

Return type: virtual