Generated on Tue Apr 18 10:23:49 2017 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, bool share)
 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, 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.
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 61 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 158 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 164 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,
bool  shared,
Int< V0, V1, Idx, Val > &  p 
) [inline, protected]

Constructor for cloning p.

Definition at line 195 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 162 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 227 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 249 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 272 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,
bool  share 
) [inline, virtual]

Perform copying during cloning.

Implements Gecode::Actor.

Definition at line 204 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 210 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 220 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 287 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 182 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 171 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 156 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 160 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 162 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 166 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 168 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 170 of file element.hh.


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