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>
92 bool operator ()(
void)
const;
94 void operator ++(
void);
112 bool operator ()(
void)
const;
114 void operator ++(
void);
134 bool operator ()(
void)
const;
136 void operator ++(
void);
148 bool operator ()(Idx&
i, Idx& j);
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>
Domain consistent element propagator for array of views.
IdxVal * iv
The index-value data structure.
bool marked(void) const
Return whether this pair is marked for removal.
IdxSize s0
Size of x0 at last execution.
Value iterator for values in index-value map.
Linked index-value pairs.
virtual void reschedule(Space &home)
Schedule function.
const IdxVal * iv
Index-value pairs.
Base-class for propagators.
ValSize s1
Size of x1 at last execution.
Value iterator for indices in index-value map.
IntSharedArray c
Shared array of integer values.
Base-class for both propagators and branchers.
int p
Number of positive literals for node type.
Gecode::IntArgs i(4, 1, 2, 3, 4)
Gecode::Support::IntTypeTraits< Val >::utype ValSize
Type for value size.
IdxViewArray< VA > iv
Current index-view map.
Val val
The value Mark that this pair should be removed.
Value iterator for values in index-value map.
Idx idx_next
The position of the next pair in index order.
void prune_val(void)
Prune values according to x1.
ModEventDelta med
A set of modification events (used during propagation)
Gecode::Support::IntTypeTraits< Idx >::utype IdxSize
Type for index size.
static ExecStatus post(Home home, IntSharedArray &i, V0 x0, V1 x1)
Post propagator for .
Base-class for element propagator for array of views.
Traits to for information about integer types.
Integer view for integer variables.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as high binary)
Domain consistent pair propagator.
virtual Actor * copy(Space &home)
Perform copying during cloning.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Int(Space &home, Int &p)
Constructor for cloning p.
ExecStatus post_int(Home home, IntSharedArray &c, V0 x0, V1 x1)
Post propagator with apropriate index and value types.
void prune_idx(void)
Prune index according to x0.
Idx val_next
The position of the next pair in value order.
Gecode toplevel namespace
#define GECODE_VTABLE_EXPORT
Sorting pointers to (index,value) pairs in value order.
#define GECODE_INT_EXPORT
int ModEventDelta
Modification event deltas.
Element propagator for array of integers
Home class for posting propagators
static ExecStatus assigned_val(Space &home, IntSharedArray &c, V0 x0, V1 x1)
Prune when x1 is assigned.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Bounds consistent element propagator for array of views.