Go to the documentation of this file.
36 #ifndef __GECODE_INT_ELEMENT_HH__
37 #define __GECODE_INT_ELEMENT_HH__
48 namespace Gecode {
namespace Int {
namespace Element {
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>
ViewBnd(Space &home, ViewBnd &p)
Constructor for cloning p.
ValSize s1
Size of x1 at last execution.
Value iterator for values in index-value map.
bool marked(void) const
Return whether this pair is marked for removal.
ByVal(const IdxVal *iv)
Initialize with index value pairs.
#define GECODE_VTABLE_EXPORT
IterIdxUnmark(IdxVal *iv)
Initialize with start.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Value iterator for indices in index-value map.
Int(Space &home, Int &p)
Constructor for cloning p.
Base-class for element propagator for array of views.
IterValUnmark(IdxVal *iv)
Initialize with start.
Val val(void) const
Return value of current index value pair.
IterVal(IdxVal *iv)
Initialize with start.
static ExecStatus post(Home home, IdxViewArray< VA > &iv, VB x0, VC x1)
Post propagator for .
View(Space &home, View &p)
Constructor for cloning p.
Domain consistent pair propagator.
Idx val(void) const
Return index of current index value pair.
Value iterator for values in index-value map.
Base-class for both propagators and branchers.
IdxSize s0
Size of x0 at last execution.
bool operator()(void) const
Test whether more pairs to be iterated.
Gecode::Support::IntTypeTraits< Idx >::utype IdxSize
Type for index size.
virtual Actor * copy(Space &home)
Perform copying during cloning.
Element propagator for array of integers
Gecode toplevel namespace
Base-class for propagators.
Idx idx_next
The position of the next pair in index order.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Val val(void) const
Return value of current index value pair.
Bounds consistent element propagator for array of views.
#define GECODE_INT_EXPORT
Home class for posting propagators
static ExecStatus post(Home home, IdxViewArray< VA > &iv, VB x0, VC x1)
Post propagator for .
Val val
The value Mark that this pair should be removed.
virtual Actor * copy(Space &home)
Perform copying during cloning.
void prune_val(void)
Prune values according to x1.
Domain consistent element propagator for array of views.
TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.
static ExecStatus post(Home home, IntSharedArray &i, V0 x0, V1 x1)
Post propagator for .
bool operator()(Idx &i, Idx &j)
Compare pairs at positions i and j.
void prune_idx(void)
Prune index according to x0.
ExecStatus post_int(Home home, IntSharedArray &c, V0 x0, V1 x1)
Post propagator with apropriate index and value types.
ModEventDelta med
A set of modification events (used during propagation)
IdxVal * iv
The index-value data structure.
const IdxVal * iv
Index-value pairs.
void operator++(void)
Move to next index value pair (next value)
bool operator()(void) const
Test whether more pairs to be iterated.
void operator++(void)
Move to next index value pair (next index)
Traits to for information about integer types.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
Gecode::Support::IntTypeTraits< Val >::utype ValSize
Type for value size.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual void reschedule(Space &home)
Schedule function.
Integer view for integer variables.
Idx val_next
The position of the next pair in value order.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as high binary)
ViewDom(Space &home, ViewDom &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
IdxViewArray< VA > iv
Current index-view map.
bool operator()(void) const
Test whether more pairs to be iterated.
virtual Actor * copy(Space &home)
Perform copying during cloning.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual void reschedule(Space &home)
Schedule function.
static ExecStatus assigned_val(Space &home, IntSharedArray &c, V0 x0, V1 x1)
Prune when x1 is assigned.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
Gecode::FloatVal c(-8, 8)
void operator++(void)
Move to next index value pair (next value)
int ModEventDelta
Modification event deltas.
Gecode::IntArgs i({1, 2, 3, 4})
Sorting pointers to (index,value) pairs in value order.
int p
Number of positive literals for node type.
IntSharedArray c
Shared array of integer values.
Linked index-value pairs.