36namespace 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++) {
55 else if (
t[i].optional())
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.
int size(void) const
Return size of array (number of elements)
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)
int ModEventDelta
Modification event deltas.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
ExecStatus timetabling(Space &home, Propagator &p, TaskArray< Task > &t)
Perform time-tabling propagation.
ExecStatus overload(TaskArray< ManTask > &t)
Check mandatory tasks t for overload.
ExecStatus subsumed(Space &home, Propagator &p, TaskArray< Task > &t)
Check tasks t for subsumption.
ExecStatus detectable(Space &home, TaskArray< ManTask > &t)
Propagate detectable precedences.
ExecStatus notfirstnotlast(Space &home, TaskArray< ManTask > &t)
Propagate not-first and not-last.
ExecStatus edgefinding(Space &home, TaskArray< Task > &t)
Propagate by edge-finding.
ExecStatus purge(Space &home, Propagator &p, TaskArray< OptTask > &t)
Purge optional tasks that are excluded and possibly rewrite propagator.
const Gecode::ModEvent ME_BOOL_VAL
Domain operation has resulted in a value (assigned variable)
Gecode toplevel namespace
TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.
@ ES_OK
Execution is okay.
@ ES_NOFIX
Propagation has not computed fixpoint.