38 #ifndef __GECODE_INT_CHANNEL_HH__ 39 #define __GECODE_INT_CHANNEL_HH__ 49 namespace Gecode {
namespace Int {
namespace Channel {
58 template<
class Info,
class Offset, PropCond pc>
89 template<
class View>
class ValInfo;
100 template<
class View,
class Offset,
bool shared>
101 class Val :
public Base<ValInfo<View>,Offset,PC_INT_VAL> {
119 Offset& ox, Offset& oy);
126 template<
class View,
class Offset>
class DomInfo;
137 template<
class View,
class Offset,
bool shared>
138 class Dom :
public Base<DomInfo<View,Offset>,Offset,PC_INT_DOM> {
165 Offset&
ox, Offset&
oy);
209 static const int S_NONE = 0;
211 static const int S_ONE = 1;
213 static const int S_RUN = 2;
Distinct::DomCtrl< View > dc
Propagation controller for propagating distinct.
virtual Actor * copy(Space &home, bool share)=0
Create copy.
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)
struct Gecode::@554::NNF::@60::@62 a
For atomic nodes.
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.
Node * x
Pointer to corresponding Boolean expression node.
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.
Base(Space &home, bool share, Base< Info, Offset, pc > &p)
Constructor for cloning p.
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
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.