36#ifndef __GECODE_INT_ELEMENT_HH__
37#define __GECODE_INT_ELEMENT_HH__
56 template<
class V0,
class V1,
class Idx,
class Val>
194 template<
class V0,
class V1>
202 template<
class VA,
class VB,
class VC, PropCond pc_ac>
231 template<
class VA,
class VB,
class VC>
261 template<
class VA,
class VB,
class VC>
Home class for posting propagators
bool operator()(Idx &i, Idx &j)
Compare pairs at positions i and j.
const IdxVal * iv
Index-value pairs.
ByVal(const IdxVal *iv)
Initialize with index value pairs.
Linked index-value pairs.
Idx val_next
The position of the next pair in value order.
Val val
The value Mark that this pair should be removed.
bool marked(void) const
Return whether this pair is marked for removal.
Idx idx_next
The position of the next pair in index order.
Idx val(void) const
Return index of current index value pair.
void operator++(void)
Move to next index value pair (next index)
IterIdxUnmark(IdxVal *iv)
Initialize with start.
bool operator()(void) const
Test whether more pairs to be iterated.
void operator++(void)
Move to next index value pair (next value)
bool operator()(void) const
Test whether more pairs to be iterated.
Val val(void) const
Return value of current index value pair.
IterValUnmark(IdxVal *iv)
Initialize with start.
bool operator()(void) const
Test whether more pairs to be iterated.
IterVal(IdxVal *iv)
Initialize with start.
Val val(void) const
Return value of current index value pair.
void operator++(void)
Move to next index value pair (next value)
Element propagator for array of integers
Int(Space &home, Int &p)
Constructor for cloning p.
ValSize s1
Size of x1 at last execution.
void prune_val(void)
Prune values according to x1.
IntSharedArray c
Shared array of integer values.
static ExecStatus post(Home home, IntSharedArray &i, V0 x0, V1 x1)
Post propagator for .
virtual Actor * copy(Space &home)
Perform copying during cloning.
virtual void reschedule(Space &home)
Schedule function.
static ExecStatus assigned_val(Space &home, IntSharedArray &c, V0 x0, V1 x1)
Prune when x1 is assigned.
IdxSize s0
Size of x0 at last execution.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
IdxVal * iv
The index-value data structure.
Gecode::Support::IntTypeTraits< Idx >::utype IdxSize
Type for index size.
Gecode::Support::IntTypeTraits< Val >::utype ValSize
Type for value size.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as high binary)
void prune_idx(void)
Prune index according to x0.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Pair(Space &home, Pair &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, IntView x0, IntView x1, IntView x2, int w, int h)
Post propagator .
virtual Actor * copy(Space &home)
Copy propagator during cloning.
ViewBnd(Space &home, ViewBnd &p)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Perform copying during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, IdxViewArray< VA > &iv, VB x0, VC x1)
Post propagator for .
virtual Actor * copy(Space &home)
Perform copying during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
static ExecStatus post(Home home, IdxViewArray< VA > &iv, VB x0, VC x1)
Post propagator for .
ViewDom(Space &home, ViewDom &p)
Constructor for cloning p.
IdxViewArray< VA > iv
Current index-view map.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
virtual void reschedule(Space &home)
Schedule function.
View(Space &home, View &p)
Constructor for cloning p.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
An array of IdxView pairs.
Integer view for integer variables.
ModEventDelta med
A set of modification events (used during propagation)
Propagator(Home home)
Constructor for posting.
Traits to for information about integer types.
TernaryPropagator(Space &home, TernaryPropagator &p)
#define GECODE_INT_EXPORT
int ModEventDelta
Modification event deltas.
ExecStatus post_int(Home home, IntSharedArray &c, V0 x0, V1 x1)
Post propagator with apropriate index and value types.
const Gecode::PropCond PC_INT_BND
Propagate when minimum or maximum of a view changes.
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
Gecode toplevel namespace
SharedArray< int > IntSharedArray
Arrays of integers that can be shared among several element constraints.
#define GECODE_VTABLE_EXPORT