Generated on Mon Aug 25 11:35:51 2008 for Gecode by doxygen 1.5.6

Gecode::Int::GCC::BndImp< View, Card, isView, shared > Class Template Reference

#include <gcc.hh>

Inherits Gecode::Propagator.

List of all members.


Detailed Description

template<class View, class Card, bool isView, bool shared>
class Gecode::Int::GCC::BndImp< View, Card, isView, shared >

Implementation of the bounds consistent global cardinality propagator.

Definition at line 127 of file gcc.hh.


Public Member Functions

virtual size_t dispose (Space *home)
 Destructor.
virtual size_t allocated (void) const
 Return how much extra memory is allocated by the propagator.
virtual Actorcopy (Space *home, bool share)
 Copy propagator during cloning.
virtual Reflection::ActorSpec spec (const Space *home, Reflection::VarMap &m) const
 Specification for this propagator.
virtual PropCost cost (ModEventDelta med) const
 Cost funtion returning dynamic PC_LINEAR_HI.
virtual ExecStatus propagate (Space *home, ModEventDelta med)
 Perform propagation.

Static Public Member Functions

static void post (Space *home, Reflection::VarMap &vars, const Reflection::ActorSpec &spec)
 Post propagator according to specification.
static Support::Symbol ati (void)
 Name of this propagator.

Protected Member Functions

 BndImp (Space *home, ViewArray< View > &, ViewArray< Card > &, bool, bool)
 Constructor for posting.
 BndImp (Space *home, bool share, BndImp< View, Card, isView, shared > &p)
 Constructor for cloning p.

Protected Attributes

ViewArray< View > x
 Views on which to perform bounds-propagation.
ViewArray< Card > k
 Array containing either fixed cardinalities or CardViews.
PartialSum< Card > * lps
 Data structure storing the sum of the views lower bounds Necessary for reasoning about the interval capacities in the propagation algorithm.
PartialSum< Card > * ups
 Data structure storing the sum of the views upper bounds.
bool card_fixed
 Stores whether cardinalities are all assigned.
bool skip_lbc
 Stores whether the minium required occurences of the cardinalities are all zero. If so, we do not need to perform lower bounds propagation.

Constructor & Destructor Documentation

template<class View, class Card, bool isView, bool shared>
Gecode::Int::GCC::BndImp< View, Card, isView, shared >::BndImp ( Space home,
ViewArray< View > &  x0,
ViewArray< Card > &  k0,
bool  cf,
bool  nolbc 
) [inline, protected]

Constructor for posting.

Definition at line 44 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
Gecode::Int::GCC::BndImp< View, Card, isView, shared >::BndImp ( Space home,
bool  share,
BndImp< View, Card, isView, shared > &  p 
) [inline, protected]

Constructor for cloning p.

Definition at line 57 of file bnd.icc.


Member Function Documentation

template<class View, class Card, bool isView, bool shared>
size_t Gecode::Int::GCC::BndImp< View, Card, isView, shared >::dispose ( Space home  )  [inline, virtual]

Destructor.

Reimplemented from Gecode::Actor.

Definition at line 66 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
size_t Gecode::Int::GCC::BndImp< View, Card, isView, shared >::allocated ( void   )  const [inline, virtual]

Return how much extra memory is allocated by the propagator.

Reimplemented from Gecode::Actor.

Definition at line 84 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
Actor * Gecode::Int::GCC::BndImp< View, Card, isView, shared >::copy ( Space home,
bool  share 
) [inline, virtual]

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 95 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
Reflection::ActorSpec Gecode::Int::GCC::BndImp< View, Card, isView, shared >::spec ( const Space home,
Reflection::VarMap m 
) const [inline, virtual]

Specification for this propagator.

Reimplemented from Gecode::Actor.

Definition at line 131 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
void Gecode::Int::GCC::BndImp< View, Card, isView, shared >::post ( Space home,
Reflection::VarMap vars,
const Reflection::ActorSpec spec 
) [inline, static]

Post propagator according to specification.

Definition at line 139 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
Support::Symbol Gecode::Int::GCC::BndImp< View, Card, isView, shared >::ati ( void   )  [inline, static]

Name of this propagator.

Definition at line 115 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
PropCost Gecode::Int::GCC::BndImp< View, Card, isView, shared >::cost ( ModEventDelta  med  )  const [inline, virtual]

Cost funtion returning dynamic PC_LINEAR_HI.

Implements Gecode::Propagator.

Definition at line 102 of file bnd.icc.

template<class View, class Card, bool isView, bool shared>
ExecStatus Gecode::Int::GCC::BndImp< View, Card, isView, shared >::propagate ( Space home,
ModEventDelta  med 
) [inline, virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 151 of file bnd.icc.


Member Data Documentation

template<class View, class Card, bool isView, bool shared>
ViewArray<View> Gecode::Int::GCC::BndImp< View, Card, isView, shared >::x [protected]

Views on which to perform bounds-propagation.

Definition at line 131 of file gcc.hh.

template<class View, class Card, bool isView, bool shared>
ViewArray<Card> Gecode::Int::GCC::BndImp< View, Card, isView, shared >::k [protected]

Array containing either fixed cardinalities or CardViews.

Definition at line 133 of file gcc.hh.

template<class View, class Card, bool isView, bool shared>
PartialSum<Card>* Gecode::Int::GCC::BndImp< View, Card, isView, shared >::lps [protected]

Data structure storing the sum of the views lower bounds Necessary for reasoning about the interval capacities in the propagation algorithm.

Definition at line 139 of file gcc.hh.

template<class View, class Card, bool isView, bool shared>
PartialSum<Card>* Gecode::Int::GCC::BndImp< View, Card, isView, shared >::ups [protected]

Data structure storing the sum of the views upper bounds.

Definition at line 141 of file gcc.hh.

template<class View, class Card, bool isView, bool shared>
bool Gecode::Int::GCC::BndImp< View, Card, isView, shared >::card_fixed [protected]

Stores whether cardinalities are all assigned.

If all cardinalities are assigned the propagation algorithm only has to perform propagation for the upper bounds.

Definition at line 148 of file gcc.hh.

template<class View, class Card, bool isView, bool shared>
bool Gecode::Int::GCC::BndImp< View, Card, isView, shared >::skip_lbc [protected]

Stores whether the minium required occurences of the cardinalities are all zero. If so, we do not need to perform lower bounds propagation.

Definition at line 154 of file gcc.hh.


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