Painless
A framework to ease parallelization of sequential CDCL SAT solvers
Loading...
Searching...
No Matches
src
working
WorkingStrategy.hpp
1
2
#pragma once
3
4
#include "solvers/SolverInterface.hpp"
5
6
#include <vector>
7
17
class
WorkingStrategy
18
{
19
public
:
20
WorkingStrategy
() { parent = NULL; }
21
22
virtual
void
solve(
const
std::vector<int>& cube) = 0;
23
24
virtual
void
join(
WorkingStrategy
* winner,
SatResult
res,
const
std::vector<int>& model) = 0;
25
26
virtual
void
setSolverInterrupt() = 0;
27
28
virtual
void
unsetSolverInterrupt() = 0;
29
30
virtual
void
waitInterrupt() = 0;
31
32
virtual
void
addSlave(
WorkingStrategy
* slave)
33
{
34
slaves.push_back(slave);
35
slave->parent =
this
;
36
}
37
38
virtual
~WorkingStrategy
() {}
39
40
protected
:
41
WorkingStrategy
* parent;
42
43
std::vector<WorkingStrategy*> slaves;
44
};
45
WorkingStrategy
Base Interface for Working Strategies.
Definition
WorkingStrategy.hpp:18
SatResult
SatResult
Enumeration for SAT solver results.
Definition
SolverInterface.hpp:39
Generated by
1.12.0 Doxygen Theme by
doxygen-awesome