OR-Tools  9.6
GenericLiteralWatcher

Detailed Description

Definition at line 1323 of file integer.h.

Public Member Functions

 GenericLiteralWatcher (Model *model)
 
 ~GenericLiteralWatcher () final
 
void ReserveSpaceForNumVariables (int num_vars)
 
bool Propagate (Trail *trail) final
 
void Untrail (const Trail &trail, int literal_trail_index) final
 
int Register (PropagatorInterface *propagator)
 
void SetPropagatorPriority (int id, int priority)
 
void NotifyThatPropagatorMayNotReachFixedPointInOnePass (int id)
 
void AlwaysCallAtLevelZero (int id)
 
void WatchLiteral (Literal l, int id, int watch_index=-1)
 
void WatchLowerBound (IntegerVariable var, int id, int watch_index=-1)
 
void WatchUpperBound (IntegerVariable var, int id, int watch_index=-1)
 
void WatchIntegerVariable (IntegerVariable i, int id, int watch_index=-1)
 
void WatchLowerBound (AffineExpression e, int id)
 
void WatchUpperBound (AffineExpression e, int id)
 
void WatchAffineExpression (AffineExpression e, int id)
 
void WatchLowerBound (IntegerValue i, int id)
 
void WatchUpperBound (IntegerValue i, int id)
 
void WatchIntegerVariable (IntegerValue v, int id)
 
void RegisterReversibleClass (int id, ReversibleInterface *rev)
 
void RegisterReversibleInt (int id, int *rev)
 
int NumPropagators () const
 
void RegisterLevelZeroModifiedVariablesCallback (const std::function< void(const std::vector< IntegerVariable > &)> cb)
 
void SetStopPropagationCallback (std::function< bool()> callback)
 
int GetCurrentId () const
 
void CallOnNextPropagate (int id)
 
void SetPropagatorId (int id)
 
int PropagatorId () const
 
virtual absl::Span< const LiteralReason (const Trail &trail, int trail_index) const
 
bool PropagatePreconditionsAreSatisfied (const Trail &trail) const
 
bool PropagationIsDone (const Trail &trail) const
 
virtual bool IsEmpty () const
 

Protected Attributes

const std::string name_
 
int propagator_id_
 
int propagation_trail_index_
 

Constructor & Destructor Documentation

◆ GenericLiteralWatcher()

GenericLiteralWatcher ( Model model)
explicit

Definition at line 2064 of file integer.cc.

◆ ~GenericLiteralWatcher()

~GenericLiteralWatcher ( )
inlinefinal

Definition at line 1326 of file integer.h.

Member Function Documentation

◆ AlwaysCallAtLevelZero()

void AlwaysCallAtLevelZero ( int  id)

Definition at line 2321 of file integer.cc.

◆ CallOnNextPropagate()

void CallOnNextPropagate ( int  id)

Definition at line 2085 of file integer.cc.

◆ GetCurrentId()

int GetCurrentId ( ) const
inline

Definition at line 1437 of file integer.h.

◆ IsEmpty()

virtual bool IsEmpty ( ) const
inlinevirtualinherited

Reimplemented in PbConstraints, and BinaryImplicationGraph.

Definition at line 538 of file sat_base.h.

◆ NotifyThatPropagatorMayNotReachFixedPointInOnePass()

void NotifyThatPropagatorMayNotReachFixedPointInOnePass ( int  id)

Definition at line 2316 of file integer.cc.

◆ NumPropagators()

int NumPropagators ( ) const
inline

Definition at line 1409 of file integer.h.

◆ Propagate()

bool Propagate ( Trail trail)
finalvirtual

Implements SatPropagator.

Definition at line 2132 of file integer.cc.

◆ PropagatePreconditionsAreSatisfied()

bool PropagatePreconditionsAreSatisfied ( const Trail trail) const
inlineinherited

Definition at line 553 of file sat_base.h.

◆ PropagationIsDone()

bool PropagationIsDone ( const Trail trail) const
inlineinherited

Definition at line 530 of file sat_base.h.

◆ PropagatorId()

int PropagatorId ( ) const
inlineinherited

Definition at line 483 of file sat_base.h.

◆ Reason()

virtual absl::Span<const Literal> Reason ( const Trail trail,
int  trail_index 
) const
inlinevirtualinherited

Reimplemented in SymmetryPropagator, PbConstraints, IntegerTrail, BinaryImplicationGraph, and LiteralWatchers.

Definition at line 519 of file sat_base.h.

◆ Register()

int Register ( PropagatorInterface propagator)

Definition at line 2286 of file integer.cc.

◆ RegisterLevelZeroModifiedVariablesCallback()

void RegisterLevelZeroModifiedVariablesCallback ( const std::function< void(const std::vector< IntegerVariable > &)>  cb)
inline

Definition at line 1420 of file integer.h.

◆ RegisterReversibleClass()

void RegisterReversibleClass ( int  id,
ReversibleInterface rev 
)

Definition at line 2325 of file integer.cc.

◆ RegisterReversibleInt()

void RegisterReversibleInt ( int  id,
int *  rev 
)

Definition at line 2330 of file integer.cc.

◆ ReserveSpaceForNumVariables()

void ReserveSpaceForNumVariables ( int  num_vars)

Definition at line 2081 of file integer.cc.

◆ SetPropagatorId()

void SetPropagatorId ( int  id)
inlineinherited

Definition at line 482 of file sat_base.h.

◆ SetPropagatorPriority()

void SetPropagatorPriority ( int  id,
int  priority 
)

Definition at line 2309 of file integer.cc.

◆ SetStopPropagationCallback()

void SetStopPropagationCallback ( std::function< bool()>  callback)
inline

Definition at line 1430 of file integer.h.

◆ Untrail()

void Untrail ( const Trail trail,
int  literal_trail_index 
)
finalvirtual

Reimplemented from SatPropagator.

Definition at line 2262 of file integer.cc.

◆ WatchAffineExpression()

void WatchAffineExpression ( AffineExpression  e,
int  id 
)
inline

Definition at line 1376 of file integer.h.

◆ WatchIntegerVariable() [1/2]

void WatchIntegerVariable ( IntegerValue  v,
int  id 
)
inline

Definition at line 1384 of file integer.h.

◆ WatchIntegerVariable() [2/2]

void WatchIntegerVariable ( IntegerVariable  i,
int  id,
int  watch_index = -1 
)
inline

Definition at line 1705 of file integer.h.

◆ WatchLiteral()

void WatchLiteral ( Literal  l,
int  id,
int  watch_index = -1 
)
inline

Definition at line 1673 of file integer.h.

◆ WatchLowerBound() [1/3]

void WatchLowerBound ( AffineExpression  e,
int  id 
)
inline

Definition at line 1370 of file integer.h.

◆ WatchLowerBound() [2/3]

void WatchLowerBound ( IntegerValue  i,
int  id 
)
inline

Definition at line 1382 of file integer.h.

◆ WatchLowerBound() [3/3]

void WatchLowerBound ( IntegerVariable  var,
int  id,
int  watch_index = -1 
)
inline

Definition at line 1681 of file integer.h.

◆ WatchUpperBound() [1/3]

void WatchUpperBound ( AffineExpression  e,
int  id 
)
inline

Definition at line 1373 of file integer.h.

◆ WatchUpperBound() [2/3]

void WatchUpperBound ( IntegerValue  i,
int  id 
)
inline

Definition at line 1383 of file integer.h.

◆ WatchUpperBound() [3/3]

void WatchUpperBound ( IntegerVariable  var,
int  id,
int  watch_index = -1 
)
inline

Definition at line 1699 of file integer.h.

Member Data Documentation

◆ name_

const std::string name_
protectedinherited

Definition at line 541 of file sat_base.h.

◆ propagation_trail_index_

int propagation_trail_index_
protectedinherited

Definition at line 543 of file sat_base.h.

◆ propagator_id_

int propagator_id_
protectedinherited

Definition at line 542 of file sat_base.h.


The documentation for this class was generated from the following files: