34 #ifndef __GECODE_INT_CHANNEL_HH__ 35 #define __GECODE_INT_CHANNEL_HH__ 45 namespace Gecode {
namespace Int {
namespace Channel {
54 template<
class Info,
class Offset, PropCond pc>
85 template<
class View>
class ValInfo;
96 template<
class View,
class Offset,
bool shared>
97 class Val :
public Base<ValInfo<View>,Offset,PC_INT_VAL> {
115 Offset& ox, Offset& oy);
122 template<
class View,
class Offset>
class DomInfo;
133 template<
class View,
class Offset,
bool shared>
134 class Dom :
public Base<DomInfo<View,Offset>,Offset,PC_INT_DOM> {
161 Offset&
ox, Offset&
oy);
205 static const int S_NONE = 0;
207 static const int S_ONE = 1;
209 static const int S_RUN = 2;
Distinct::DomCtrl< View > dc
Propagation controller for propagating distinct.
Base(Space &home, Base< Info, Offset, pc > &p)
Constructor for cloning p.
Offset ox
Offset transformation for x variables.
Mixed (n+1)-ary propagator.
Base-class for propagators.
Info * xy
View and information for both x and y.
Offset oy
Offset transformation for y variables.
Combine view with information for value propagation.
Naive channel propagator.
Base-class for both propagators and branchers.
Gecode::FloatVal c(-8, 8)
int p
Number of positive literals for node type.
int n
Number of views (actually twice as many for both x and y)
ModEventDelta med
A set of modification events (used during propagation)
Domain consistent channel propagator.
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
virtual ExecStatus advise(Space &home, Advisor &a, const Delta &d)
Advise function.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Propagation cost (defined as low quadratic)
Converter with fixed offset.
Combine view with information for domain propagation.
Integer view for integer variables.
Post propagator for SetVar SetOpType SetVar y
Generic domain change information to be supplied to advisors.
Base-class for channel propagators.
Link propagator for a single Boolean view.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Stack with fixed number of elements.
Post propagator for SetVar x
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)=0
Propagation function.
Gecode toplevel namespace
Link propagator for multiple Boolean views.
virtual void reschedule(Space &home)
Schedule function.
#define GECODE_INT_EXPORT
int ModEventDelta
Modification event deltas.
Home class for posting propagators
virtual Actor * copy(Space &home)=0
Create copy.
struct Gecode::@593::NNF::@62::@64 a
For atomic nodes.
Support::StaticStack< int, Region > ProcessStack
Processing stack.
int n_na
Total number of not assigned views (not known to be assigned)
TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.
Propagation controller for domain consistent distinct.
const Gecode::PropCond PC_INT_VAL
Propagate when a view becomes assigned (single value)
Boolean view for Boolean variables.