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."]]],["The `PropagatorInterface` class is a base for CP propagators. Key methods include: `Propagate`, which is called when watched literals change or during initial registration; and `IncrementalPropagate`, which is called on non-empty vectors of changed \"watch indices\" during search tree descent. Indices in `IncrementalPropagate` can be duplicates and only represent literals modified after registration, while back jumps will clear the vector. Both methods return a boolean value. `PropagatorInterface` and `~PropagatorInterface` are also listed as methods.\n"]]