OR-Tools  8.2
GenericLiteralWatcher

Detailed Description

Definition at line 1108 of file integer.h.

Public Member Functions

 GenericLiteralWatcher (Model *model)
 
 ~GenericLiteralWatcher () final
 
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)
 
int GetCurrentId () const
 
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
 

Protected Attributes

const std::string name_
 
int propagator_id_
 
int propagation_trail_index_
 

Constructor & Destructor Documentation

◆ GenericLiteralWatcher()

GenericLiteralWatcher ( Model model)
explicit

Definition at line 1743 of file integer.cc.

◆ ~GenericLiteralWatcher()

~GenericLiteralWatcher ( )
inlinefinal

Definition at line 1111 of file integer.h.

Member Function Documentation

◆ AlwaysCallAtLevelZero()

void AlwaysCallAtLevelZero ( int  id)

Definition at line 1974 of file integer.cc.

◆ GetCurrentId()

int GetCurrentId ( ) const
inline

Definition at line 1210 of file integer.h.

◆ NotifyThatPropagatorMayNotReachFixedPointInOnePass()

void NotifyThatPropagatorMayNotReachFixedPointInOnePass ( int  id)

Definition at line 1969 of file integer.cc.

◆ NumPropagators()

int NumPropagators ( ) const
inline

Definition at line 1191 of file integer.h.

◆ Propagate()

bool Propagate ( Trail trail)
finalvirtual

Implements SatPropagator.

Definition at line 1801 of file integer.cc.

◆ PropagatePreconditionsAreSatisfied()

bool PropagatePreconditionsAreSatisfied ( const Trail trail) const
inlineinherited

Definition at line 517 of file sat_base.h.

◆ PropagationIsDone()

bool PropagationIsDone ( const Trail trail) const
inlineinherited

Definition at line 500 of file sat_base.h.

◆ PropagatorId()

int PropagatorId ( ) const
inlineinherited

Definition at line 453 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 489 of file sat_base.h.

◆ Register()

int Register ( PropagatorInterface propagator)

Definition at line 1939 of file integer.cc.

◆ RegisterLevelZeroModifiedVariablesCallback()

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

Definition at line 1202 of file integer.h.

◆ RegisterReversibleClass()

void RegisterReversibleClass ( int  id,
ReversibleInterface rev 
)

Definition at line 1978 of file integer.cc.

◆ RegisterReversibleInt()

void RegisterReversibleInt ( int  id,
int *  rev 
)

Definition at line 1983 of file integer.cc.

◆ SetPropagatorId()

void SetPropagatorId ( int  id)
inlineinherited

Definition at line 452 of file sat_base.h.

◆ SetPropagatorPriority()

void SetPropagatorPriority ( int  id,
int  priority 
)

Definition at line 1962 of file integer.cc.

◆ Untrail()

void Untrail ( const Trail trail,
int  literal_trail_index 
)
finalvirtual

Reimplemented from SatPropagator.

Definition at line 1915 of file integer.cc.

◆ WatchAffineExpression()

void WatchAffineExpression ( AffineExpression  e,
int  id 
)
inline

Definition at line 1158 of file integer.h.

◆ WatchIntegerVariable() [1/2]

void WatchIntegerVariable ( IntegerValue  v,
int  id 
)
inline

Definition at line 1166 of file integer.h.

◆ WatchIntegerVariable() [2/2]

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

Definition at line 1397 of file integer.h.

◆ WatchLiteral()

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

Definition at line 1365 of file integer.h.

◆ WatchLowerBound() [1/3]

void WatchLowerBound ( AffineExpression  e,
int  id 
)
inline

Definition at line 1152 of file integer.h.

◆ WatchLowerBound() [2/3]

void WatchLowerBound ( IntegerValue  i,
int  id 
)
inline

Definition at line 1164 of file integer.h.

◆ WatchLowerBound() [3/3]

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

Definition at line 1373 of file integer.h.

◆ WatchUpperBound() [1/3]

void WatchUpperBound ( AffineExpression  e,
int  id 
)
inline

Definition at line 1155 of file integer.h.

◆ WatchUpperBound() [2/3]

void WatchUpperBound ( IntegerValue  i,
int  id 
)
inline

Definition at line 1165 of file integer.h.

◆ WatchUpperBound() [3/3]

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

Definition at line 1391 of file integer.h.

Member Data Documentation

◆ name_

const std::string name_
protectedinherited

Definition at line 505 of file sat_base.h.

◆ propagation_trail_index_

int propagation_trail_index_
protectedinherited

Definition at line 507 of file sat_base.h.

◆ propagator_id_

int propagator_id_
protectedinherited

Definition at line 506 of file sat_base.h.


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