Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::Queue Class Reference

Public Member Functions

 Queue (Solver *const s)
 
 ~Queue ()
 
void Freeze ()
 
void Unfreeze ()
 
void ProcessOneDemon (Demon *const demon)
 
void Process ()
 
void ExecuteAll (const SimpleRevFIFO< Demon * > &demons)
 
void EnqueueAll (const SimpleRevFIFO< Demon * > &demons)
 
void EnqueueVar (Demon *const demon)
 
void EnqueueDelayedDemon (Demon *const demon)
 
void AfterFailure ()
 
void increase_stamp ()
 
uint64_t stamp () const
 
void set_action_on_fail (Solver::Action a)
 
void set_variable_to_clean_on_fail (IntVar *var)
 
void reset_action_on_fail ()
 
void AddConstraint (Constraint *const c)
 
void ProcessConstraints ()
 

Static Public Attributes

static constexpr int64_t kTestPeriod = 10000
 

Detailed Description

Definition at line 226 of file constraint_solver.cc.

Constructor & Destructor Documentation

◆ Queue()

operations_research::Queue::Queue ( Solver *const s)
inlineexplicit

Definition at line 230 of file constraint_solver.cc.

◆ ~Queue()

operations_research::Queue::~Queue ( )
inline

Definition at line 240 of file constraint_solver.cc.

Member Function Documentation

◆ AddConstraint()

void operations_research::Queue::AddConstraint ( Constraint *const c)
inline

Definition at line 387 of file constraint_solver.cc.

◆ AfterFailure()

void operations_research::Queue::AfterFailure ( )
inline

Clean queue.

Call cleaning actions on variables.

Definition at line 348 of file constraint_solver.cc.

◆ EnqueueAll()

void operations_research::Queue::EnqueueAll ( const SimpleRevFIFO< Demon * > & demons)
inline

Definition at line 323 of file constraint_solver.cc.

◆ EnqueueDelayedDemon()

void operations_research::Queue::EnqueueDelayedDemon ( Demon *const demon)
inline

Definition at line 340 of file constraint_solver.cc.

◆ EnqueueVar()

void operations_research::Queue::EnqueueVar ( Demon *const demon)
inline

Definition at line 329 of file constraint_solver.cc.

◆ ExecuteAll()

void operations_research::Queue::ExecuteAll ( const SimpleRevFIFO< Demon * > & demons)
inline

Definition at line 291 of file constraint_solver.cc.

◆ Freeze()

void operations_research::Queue::Freeze ( )
inline

Definition at line 242 of file constraint_solver.cc.

◆ increase_stamp()

void operations_research::Queue::increase_stamp ( )
inline

Definition at line 368 of file constraint_solver.cc.

◆ Process()

void operations_research::Queue::Process ( )
inline

Definition at line 272 of file constraint_solver.cc.

◆ ProcessConstraints()

void operations_research::Queue::ProcessConstraints ( )
inline

We cannot store to_add_.size() as constraints can add other constraints. For the same reason a range-based for loop cannot be used.

Todo
(user): Make to_add_ a queue to make the behavior more obvious.
Todo
(user): Add profiling to initial propagation

Definition at line 392 of file constraint_solver.cc.

◆ ProcessOneDemon()

void operations_research::Queue::ProcessOneDemon ( Demon *const demon)
inline

Definition at line 253 of file constraint_solver.cc.

◆ reset_action_on_fail()

void operations_research::Queue::reset_action_on_fail ( )
inline

Definition at line 382 of file constraint_solver.cc.

◆ set_action_on_fail()

void operations_research::Queue::set_action_on_fail ( Solver::Action a)
inline

Definition at line 372 of file constraint_solver.cc.

◆ set_variable_to_clean_on_fail()

void operations_research::Queue::set_variable_to_clean_on_fail ( IntVar * var)
inline

Definition at line 377 of file constraint_solver.cc.

◆ stamp()

uint64_t operations_research::Queue::stamp ( ) const
inline

Definition at line 370 of file constraint_solver.cc.

◆ Unfreeze()

void operations_research::Queue::Unfreeze ( )
inline

Definition at line 247 of file constraint_solver.cc.

Member Data Documentation

◆ kTestPeriod

int64_t operations_research::Queue::kTestPeriod = 10000
staticconstexpr

Definition at line 228 of file constraint_solver.cc.


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