36 namespace Gecode {
namespace Int {
namespace Unary {
38 template<
class OptTask,
class PL>
43 template<
class OptTask,
class PL>
48 template<
class OptTask,
class PL>
52 for (
int i=0;
i<
t.size();
i++) {
60 for (
int i=0;
i<m;
i++)
69 template<
class OptTask,
class PL>
75 template<
class OptTask,
class PL>
95 while ((
i <
n) &&
t[
i].mandatory())
i++;
96 while ((j >= 0) && !
t[j].mandatory()) j--;
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
Base-class for both propagators and branchers.
Home class for posting propagators
Scheduling propagator for unary resource with mandatory tasks
Scheduling propagator for unary resource with optional tasks
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, TaskArray< OptTask > &t)
Post propagator that schedules tasks on unary resource.
OptProp(Home home, TaskArray< OptTask > &t)
Constructor for creation.
virtual Actor * copy(Space &home)
Perform copying during cloning.
static ModEvent me(const ModEventDelta &med)
Return modification event for view type in med.
@ ES_OK
Execution is okay.
@ ES_NOFIX
Propagation has not computed fixpoint.
void post(Home home, Term *t, int n, FloatRelType frt, FloatVal c)
Post propagator for linear constraint over floats.
int ModEventDelta
Modification event deltas.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
bool optional(const BoolVarArgs &m)
ExecStatus timetabling(Space &home, Propagator &p, TaskArray< Task > &t)
Perform time-tabling propagation.
ExecStatus subsumed(Space &home, Propagator &p, TaskArray< Task > &t)
Check tasks t for subsumption.
ExecStatus edgefinding(Space &home, TaskViewArray< TaskView > &t)
const Gecode::ModEvent ME_BOOL_VAL
Domain operation has resulted in a value (assigned variable)
Gecode::IntArgs i({1, 2, 3, 4})