Gecode::Int::GCC::BndImp< View, Card, isView, shared > Class Template Reference
#include <gcc.hh>
Inherits Gecode::Propagator.
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 Actor * | copy (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] |
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] |
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] |
template<class View, class Card, bool isView, bool shared>
size_t Gecode::Int::GCC::BndImp< View, Card, isView, shared >::allocated | ( | void | ) | const [inline, virtual] |
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] |
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] |
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] |
template<class View, class Card, bool isView, bool shared>
Support::Symbol Gecode::Int::GCC::BndImp< View, Card, isView, shared >::ati | ( | void | ) | [inline, static] |
template<class View, class Card, bool isView, bool shared>
PropCost Gecode::Int::GCC::BndImp< View, Card, isView, shared >::cost | ( | ModEventDelta | med | ) | const [inline, virtual] |
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] |
Member Data Documentation
template<class View, class Card, bool isView, bool shared>
ViewArray<View> Gecode::Int::GCC::BndImp< View, Card, isView, shared >::x [protected] |
template<class View, class Card, bool isView, bool shared>
ViewArray<Card> Gecode::Int::GCC::BndImp< View, Card, isView, shared >::k [protected] |
template<class View, class Card, bool isView, bool shared>
PartialSum<Card>* Gecode::Int::GCC::BndImp< View, Card, isView, shared >::lps [protected] |
template<class View, class Card, bool isView, bool shared>
PartialSum<Card>* Gecode::Int::GCC::BndImp< View, Card, isView, shared >::ups [protected] |
template<class View, class Card, bool isView, bool shared>
bool Gecode::Int::GCC::BndImp< View, Card, isView, shared >::card_fixed [protected] |
template<class View, class Card, bool isView, bool shared>
bool Gecode::Int::GCC::BndImp< View, Card, isView, shared >::skip_lbc [protected] |
The documentation for this class was generated from the following files:
- gecode/int/gcc.hh (Revision: 7285)
- gecode/int/gcc/bnd.icc (Revision: 7285)