34#ifndef __GECODE_INT_CIRCUIT_HH__
35#define __GECODE_INT_CIRCUIT_HH__
45namespace Gecode {
namespace Int {
namespace Circuit {
54 template<
class View,
class Offset>
87 template<
class View,
class Offset>
120 template<
class View,
class Offset>
int p
Number of positive literals for node type.
Base-class for both propagators and branchers.
Home class for posting propagators
Base-class for circuit propagator.
ExecStatus connected(Space &home)
Check whether the view value graph is strongly connected.
ViewArray< View > y
Array for performing value propagation for distinct.
Offset o
Offset transformation.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
int start
Remember where to start the next time the propagator runs.
ExecStatus path(Space &home)
Ensure path property: prune edges that could give too small cycles.
Base(Space &home, Base &p)
Constructor for cloning p.
"Domain consistent" circuit propagator
Dom(Space &home, Dom &p)
Constructor for cloning p.
static ExecStatus post(Home home, ViewArray< View > &x, Offset &o)
Post propagator for circuit on x.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
Int::Distinct::DomCtrl< View > dc
Propagation controller for propagating distinct.
virtual void reschedule(Space &home)
Schedule function.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
"Value-consistent" circuit propagator
static ExecStatus post(Home home, ViewArray< View > &x, Offset &o)
Post propagator for circuit on x.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (returns high linear)
Val(Space &home, Val &p)
Constructor for cloning p.
Propagation controller for domain consistent distinct.
Converter with fixed offset.
ModEventDelta med
A set of modification events (used during propagation)
int ModEventDelta
Modification event deltas.
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
Gecode toplevel namespace