Generated on Fri Oct 19 11:26:10 2018 for Gecode by doxygen 1.6.3

Gecode::Int::Element::Int< V0, V1, Idx, Val > Class Template Reference
[Integer propagators]

Element propagator for array of integers More...

#include <element.hh>

List of all members.

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 Actorcopy (Space &home)
 Perform copying during cloning.
virtual PropCost cost (const Space &home, const ModEventDelta &med) const
 Cost function (defined as high binary).
virtual void reschedule (Space &home)
 Schedule function.
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 $i_{x_0}=x_1$.

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, 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.
IdxValiv
 The index-value data structure.

Detailed Description

template<class V0, class V1, class Idx, class Val>
class Gecode::Int::Element::Int< V0, V1, Idx, Val >

Element propagator for array of integers

Requires

Definition at line 57 of file element.hh.


Member Typedef Documentation

template<class V0, class V1, class Idx, class Val>
typedef Gecode::Support::IntTypeTraits<Idx>::utype Gecode::Int::Element::Int< V0, V1, Idx, Val >::IdxSize [protected]

Type for index size.

Definition at line 154 of file element.hh.

template<class V0, class V1, class Idx, class Val>
typedef Gecode::Support::IntTypeTraits<Val>::utype Gecode::Int::Element::Int< V0, V1, Idx, Val >::ValSize [protected]

Type for value size.

Definition at line 160 of file element.hh.


Constructor & Destructor Documentation

template<class V0 , class V1 , class Idx , class Val >
Gecode::Int::Element::Int< V0, V1, Idx, Val >::Int ( Space home,
Int< V0, V1, Idx, Val > &  p 
) [inline, protected]

Constructor for cloning p.

Definition at line 191 of file int.hpp.

template<class V0 , class V1 , class Idx , class Val >
Gecode::Int::Element::Int< V0, V1, Idx, Val >::Int ( Home  home,
IntSharedArray i,
V0  x0,
V1  x1 
) [inline, protected]

Constructor for creation.

Definition at line 158 of file int.hpp.


Member Function Documentation

template<class V0 , class V1 , class Idx , class Val >
void Gecode::Int::Element::Int< V0, V1, Idx, Val >::prune_idx ( void   )  [inline, protected]

Prune index according to x0.

Definition at line 222 of file int.hpp.

template<class V0 , class V1 , class Idx , class Val >
void Gecode::Int::Element::Int< V0, V1, Idx, Val >::prune_val ( void   )  [inline, protected]

Prune values according to x1.

Definition at line 244 of file int.hpp.

template<class V0 , class V1 , class Idx , class Val >
ExecStatus Gecode::Int::Element::Int< V0, V1, Idx, Val >::assigned_val ( Space home,
IntSharedArray c,
V0  x0,
V1  x1 
) [inline, static, protected]

Prune when x1 is assigned.

Definition at line 267 of file int.hpp.

template<class V0 , class V1 , class Idx , class Val >
Actor * Gecode::Int::Element::Int< V0, V1, Idx, Val >::copy ( Space home  )  [inline, virtual]

Perform copying during cloning.

Implements Gecode::Actor.

Definition at line 199 of file int.hpp.

template<class V0 , class V1 , class Idx , class Val >
PropCost Gecode::Int::Element::Int< V0, V1, Idx, Val >::cost ( const Space home,
const ModEventDelta med 
) const [inline, virtual]

Cost function (defined as high binary).

Implements Gecode::Propagator.

Definition at line 205 of file int.hpp.

template<class V0 , class V1 , class Idx , class Val >
void Gecode::Int::Element::Int< V0, V1, Idx, Val >::reschedule ( Space home  )  [inline, virtual]

Schedule function.

Implements Gecode::Propagator.

Definition at line 215 of file int.hpp.

template<class V0 , class V1 , class Idx , class Val >
ExecStatus Gecode::Int::Element::Int< V0, V1, Idx, Val >::propagate ( Space home,
const ModEventDelta med 
) [inline, virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 282 of file int.hpp.

template<class V0 , class V1 , class Idx , class Val >
ExecStatus Gecode::Int::Element::Int< V0, V1, Idx, Val >::post ( Home  home,
IntSharedArray i,
V0  x0,
V1  x1 
) [inline, static]

Post propagator for $i_{x_0}=x_1$.

Definition at line 178 of file int.hpp.

template<class V0 , class V1 , class Idx , class Val >
size_t Gecode::Int::Element::Int< V0, V1, Idx, Val >::dispose ( Space home  )  [inline, virtual]

Delete propagator and return its size.

Reimplemented from Gecode::Actor.

Definition at line 167 of file int.hpp.


Member Data Documentation

template<class V0, class V1, class Idx, class Val>
V0 Gecode::Int::Element::Int< V0, V1, Idx, Val >::x0 [protected]

View for index.

Definition at line 152 of file element.hh.

template<class V0, class V1, class Idx, class Val>
IdxSize Gecode::Int::Element::Int< V0, V1, Idx, Val >::s0 [protected]

Size of x0 at last execution.

Definition at line 156 of file element.hh.

template<class V0, class V1, class Idx, class Val>
V1 Gecode::Int::Element::Int< V0, V1, Idx, Val >::x1 [protected]

View for result.

Definition at line 158 of file element.hh.

template<class V0, class V1, class Idx, class Val>
ValSize Gecode::Int::Element::Int< V0, V1, Idx, Val >::s1 [protected]

Size of x1 at last execution.

Definition at line 162 of file element.hh.

template<class V0, class V1, class Idx, class Val>
IntSharedArray Gecode::Int::Element::Int< V0, V1, Idx, Val >::c [protected]

Shared array of integer values.

Definition at line 164 of file element.hh.

template<class V0, class V1, class Idx, class Val>
IdxVal* Gecode::Int::Element::Int< V0, V1, Idx, Val >::iv [protected]

The index-value data structure.

Definition at line 166 of file element.hh.


The documentation for this class was generated from the following files: