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.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-06 UTC."],[[["`PropagatorInterface` serves as a base class for propagators in constraint programming (CP)."],["It features two primary methods: `Propagate` and `IncrementalPropagate`, called upon changes in watched literals."],["`Propagate` is invoked initially and after watched literal changes, while `IncrementalPropagate` is called with specific indices of changed literals."],["This class is fundamental to the CP solving process within or-tools."]]],[]]