139 int size(
void)
const;
183 int events(
void)
const;
185 Tracer& tracer(
void)
const;
197 const typename View::VarType
x(
n[i].varimp());
242 :
Advisor(home,p,c), _idx(i) {}
265 tf(tf0),
te(te0),
t(t0) {
268 for (
int i=0;
i<
n.size();
i++) {
271 n[
i].subscribe(home,*
new (home)
Idx(home,*
this,
c,i));
274 s.
i = TraceView::slack(
n[0]);
275 for (
int i=1;
i<
n.size();
i++)
276 s.
i += TraceView::slack(
n[
i]);
287 if ((x.
size() > 0) &&
321 n[as.advisor().idx()].cancel(home,as.advisor());
324 return sizeof(*this);
346 t._prune(home,*
this,
a(home),i,td);
348 o[
i].prune(home,
n[i],d);
349 if (
n[a.
idx()].assigned())
357 s.
c = TraceView::slack(
n[0]);
358 for (
int i=1;
i<
n.size();
i++)
359 s.
c += TraceView::slack(
n[
i]);
SlackValue i
The initial slack value.
Advisor with index information.
Tracer that process view trace information.
virtual void reschedule(Space &home)
Schedule function.
Collection of slack values.
Tracer & t
The actual tracer.
ViewArray< View > n
Original views (new information)
void update(Space &home, ViewArray< View > &a)
Update array to be a clone of array a.
ExecStatus ES_SUBSUMED(Propagator &p)
Actor must always be disposed.
const View::VarType operator[](int i) const
Return variable being traced at position i.
const ModEvent ME_GEN_ASSIGNED
Generic modification event: variable is assigned a value.
TraceTraits< View >::SlackValue SlackValue
The corresponding slack value type.
Base-class for propagators.
TraceFilter tf
The trace filter.
static PropCost record(void)
For recording information (no propagation allowed)
Class to iterate over advisors of a council.
TraceRecorder(Space &home, TraceRecorder &p)
Constructor for cloning p.
Propagation has computed fixpoint.
static ExecStatus post(Home home, TraceFilter tf, int te, Tracer &t)
Post propagator.
Trace commit operations by branchers.
const TraceFilter & filter(void) const
Return trace filter.
TraceTraits< View >::TraceDelta TraceDelta
The corresponding trace delta type.
int p
Number of positive literals for node type.
Tracer & tracer(void) const
Return tracer.
Slack s
Slack information.
Gecode::IntArgs i({1, 2, 3, 4})
int _idx
Index information.
TraceFilter tf
The trace filter.
Propagator for recording trace information.
bool failed(void) const
Check whether space is failed.
ModEventDelta med
A set of modification events (used during propagation)
static ExecStatus post(Home home, ViewArray< View > &x, TraceFilter tf, int te, ViewTracer< View > &t)
Post recorder propagator.
virtual ExecStatus advise(Space &home, Advisor &a, const Delta &d)
Give advice to propagator.
TraceTraits< View >::TraceView TraceView
The corresponding duplicate view type.
bool disabled(void) const
Whether propagator is currently disabled.
SlackValue previous(void) const
Return previous slack value.
void notice(Actor &a, ActorProperty p, bool duplicate=false)
Notice actor property.
int te
Which events to trace.
ViewTraceRecorder(Space &home, ViewTraceRecorder &p)
Constructor for cloning p.
Propagator for recording view trace information.
ViewTracer< View > & t
The actual tracer.
int size(void) const
Return number of variables being traced.
SlackValue c
Current slack value.
Generic domain change information to be supplied to advisors.
int te
Which events to trace.
void ignore(Actor &a, ActorProperty p, bool duplicate=false)
Ignore actor property.
virtual size_t dispose(Space &home)
Delete actor and return its size.
void dispose(Space &home, Council< A > &c)
Dispose the advisor.
virtual Propagator * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Idx(Space &home, Propagator &p, Council< Idx > &c, int i)
Constructor for creation.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (record so that propagator runs last)
bool assigned(View x, int v)
Whether x is assigned to value v.
friend class ViewTraceRecorder
Post propagator for SetVar x
Trace propagator executions.
ViewArray< TraceView > o
Duplicate views (old information)
Propagation has not computed fixpoint.
SlackValue current(void) const
Return current slack value.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Gecode toplevel namespace
int idx(void) const
Get index of view.
int events(void) const
Which events to trace.
const Slack & slack(void) const
Provide access to slack information.
SlackValue initial(void) const
Return initial slack value.
SlackValue p
Slack value at previous event (fixpoint or init)
int size(void) const
Return size of array (number of elements)
int ModEventDelta
Modification event deltas.
Home class for posting propagators
Council< Idx > c
The advisor council.
struct Gecode::@593::NNF::@62::@64 a
For atomic nodes.
TraceEvent
Which events to trace.