Element propagator for array of integers More...
#include <element.hh>
Classes | |
class | ByVal |
Sorting pointers to (index,value) pairs in value order. More... | |
class | IdxVal |
Linked index-value pairs. More... | |
class | IterIdxUnmark |
Value iterator for indices in index-value map. More... | |
class | IterVal |
Value iterator for values in index-value map. More... | |
class | IterValUnmark |
Value iterator for values in index-value map. More... | |
Public Member Functions | |
virtual Actor * | copy (Space &home, bool share) |
Perform copying during cloning. | |
virtual PropCost | cost (const Space &home, const ModEventDelta &med) const |
Const function (defined as high binary) | |
virtual ExecStatus | propagate (Space &home, const ModEventDelta &med) |
Perform propagation. | |
virtual size_t | dispose (Space &home) |
Delete propagator and return its size. | |
Static Public Member Functions | |
static ExecStatus | post (Home home, IntSharedArray &i, V0 x0, V1 x1) |
Post propagator for ![]() | |
Protected Types | |
typedef Gecode::Support::IntTypeTraits < Idx >::utype | IdxSize |
Type for index size. | |
typedef Gecode::Support::IntTypeTraits < Val >::utype | ValSize |
Type for value size. | |
Protected Member Functions | |
void | prune_idx (void) |
Prune index according to x0. | |
void | prune_val (void) |
Prune values according to x1. | |
Int (Space &home, bool shared, Int &p) | |
Constructor for cloning p. | |
Int (Home home, IntSharedArray &i, V0 x0, V1 x1) | |
Constructor for creation. | |
Static Protected Member Functions | |
static ExecStatus | assigned_val (Space &home, IntSharedArray &c, V0 x0, V1 x1) |
Prune when x1 is assigned. | |
Protected Attributes | |
V0 | x0 |
View for index. | |
IdxSize | s0 |
Size of x0 at last execution. | |
V1 | x1 |
View for result. | |
ValSize | s1 |
Size of x1 at last execution. | |
IntSharedArray | c |
Shared array of integer values. | |
IdxVal * | iv |
The index-value data structure. |
typedef Gecode::Support::IntTypeTraits<Idx>::utype Gecode::Int::Element::Int::IdxSize [protected] |
Type for index size.
Definition at line 157 of file element.hh.
typedef Gecode::Support::IntTypeTraits<Val>::utype Gecode::Int::Element::Int::ValSize [protected] |
Type for value size.
Definition at line 163 of file element.hh.
Gecode::Int::Element::Int::Int | ( | Home | home, |
IntSharedArray & | i, | ||
V0 | x0, | ||
V1 | x1 | ||
) | [inline, protected] |
void Gecode::Int::Element::Int::prune_idx | ( | void | ) | [protected] |
void Gecode::Int::Element::Int::prune_val | ( | void | ) | [protected] |
ExecStatus Gecode::Int::Element::Int::assigned_val | ( | Space & | home, |
IntSharedArray & | c, | ||
V0 | x0, | ||
V1 | x1 | ||
) | [static, protected] |
PropCost Gecode::Int::Element::Int::cost | ( | const Space & | home, |
const ModEventDelta & | med | ||
) | const [virtual] |
Const function (defined as high binary)
Implements Gecode::Propagator.
ExecStatus Gecode::Int::Element::Int::propagate | ( | Space & | home, |
const ModEventDelta & | med | ||
) | [virtual] |
ExecStatus Gecode::Int::Element::Int::post | ( | Home | home, |
IntSharedArray & | i, | ||
V0 | x0, | ||
V1 | x1 | ||
) | [static] |
size_t Gecode::Int::Element::Int::dispose | ( | Space & | home | ) | [inline, virtual] |
Delete propagator and return its size.
Reimplemented from Gecode::Actor.
V0 Gecode::Int::Element::Int::x0 [protected] |
View for index.
Definition at line 155 of file element.hh.
IdxSize Gecode::Int::Element::Int::s0 [protected] |
Size of x0 at last execution.
Definition at line 159 of file element.hh.
V1 Gecode::Int::Element::Int::x1 [protected] |
View for result.
Definition at line 161 of file element.hh.
ValSize Gecode::Int::Element::Int::s1 [protected] |
Size of x1 at last execution.
Definition at line 165 of file element.hh.
IntSharedArray Gecode::Int::Element::Int::c [protected] |
Shared array of integer values.
Definition at line 167 of file element.hh.
IdxVal* Gecode::Int::Element::Int::iv [protected] |
The index-value data structure.
Definition at line 169 of file element.hh.