Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <rev.h>
Public Member Functions | |
ReversibleInterface () | |
virtual | ~ReversibleInterface () |
virtual void | SetLevel (int level)=0 |
Interface for reversible objects used to maintain them in sync with a tree search organized by decision levels.
|
inline |
|
inlinevirtual |
|
pure virtual |
Initially a reversible class starts at level zero. Increasing the level saves the state of the current old level. Decreasing the level restores the state to what it was at this level and all higher levels are forgotten. Everything done at level zero cannot be backtracked over.
The level is assumed to be non-negative.
Implemented in operations_research::RevGrowingMultiMap< Key, Value >, operations_research::RevMap< Map >, operations_research::RevRepository< T >, operations_research::RevRepository< int >, operations_research::RevRepository< IntegerValue >, operations_research::RevVector< IndexType, T >, operations_research::RevVector< IdType, int >, operations_research::sat::CircuitCoveringPropagator, operations_research::sat::CircuitPropagator, operations_research::sat::LinearProgrammingConstraint, operations_research::sat::LinearPropagator, operations_research::sat::NoCyclePropagator, and operations_research::sat::PrecedenceRelations.