OR-Tools  8.2
SharedSolutionRepository< ValueType >abstract

Detailed Description

template<typename ValueType>
class operations_research::sat::SharedSolutionRepository< ValueType >

Definition at line 43 of file synchronization.h.

Classes

struct  Solution
 

Public Member Functions

 SharedSolutionRepository (int num_solutions_to_keep)
 
int NumSolutions () const
 
Solution GetSolution (int index) const
 
ValueType GetVariableValueInSolution (int var_index, int solution_index) const
 
Solution GetRandomBiasedSolution (absl::BitGenRef random) const
 
void Add (const Solution &solution)
 
void Synchronize ()
 

Protected Member Functions

void AddInternal (const Solution &solution) ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex_)
 
int64 num_synchronization_ ABSL_GUARDED_BY (mutex_)=0
 
std::vector< int > tmp_indices_ ABSL_GUARDED_BY (mutex_)
 
std::vector< Solution > solutions_ ABSL_GUARDED_BY (mutex_)
 
std::vector< Solution > new_solutions_ ABSL_GUARDED_BY (mutex_)
 

Protected Attributes

const int num_solutions_to_keep_
 
absl::Mutex mutex_
 

Constructor & Destructor Documentation

◆ SharedSolutionRepository()

SharedSolutionRepository ( int  num_solutions_to_keep)
inlineexplicit

Definition at line 45 of file synchronization.h.

Member Function Documentation

◆ ABSL_GUARDED_BY() [1/4]

std::vector<int> tmp_indices_ ABSL_GUARDED_BY ( mutex_  )
mutableprotected

◆ ABSL_GUARDED_BY() [2/4]

std::vector<Solution> solutions_ ABSL_GUARDED_BY ( mutex_  )
protected

◆ ABSL_GUARDED_BY() [3/4]

std::vector<Solution> new_solutions_ ABSL_GUARDED_BY ( mutex_  )
protected

◆ ABSL_GUARDED_BY() [4/4]

int64 num_synchronization_ ABSL_GUARDED_BY ( mutex_  )
protectedpure virtual

◆ Add()

void Add ( const Solution solution)

Definition at line 461 of file synchronization.h.

◆ AddInternal()

void AddInternal ( const Solution solution)
protected

Definition at line 467 of file synchronization.h.

◆ GetRandomBiasedSolution()

SharedSolutionRepository< ValueType >::Solution GetRandomBiasedSolution ( absl::BitGenRef  random) const

Definition at line 426 of file synchronization.h.

◆ GetSolution()

SharedSolutionRepository< ValueType >::Solution GetSolution ( int  index) const

Definition at line 411 of file synchronization.h.

◆ GetVariableValueInSolution()

ValueType GetVariableValueInSolution ( int  var_index,
int  solution_index 
) const

Definition at line 417 of file synchronization.h.

◆ NumSolutions()

int NumSolutions

Definition at line 404 of file synchronization.h.

◆ Synchronize()

void Synchronize

Definition at line 485 of file synchronization.h.

Member Data Documentation

◆ mutex_

absl::Mutex mutex_
mutableprotected

Definition at line 114 of file synchronization.h.

◆ num_solutions_to_keep_

const int num_solutions_to_keep_
protected

Definition at line 113 of file synchronization.h.


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