Cardinality integer view. More...
#include <view.hpp>
Static Public Attributes | |
static const bool | propagate = true |
This view does require propagation. More... | |
Protected Attributes | |
int | _card |
Cardinality. More... | |
int | _counter |
Counter. More... | |
![]() | |
IntView | x |
View from which this view is derived. More... | |
Initialization | |
CardView (void) | |
Default constructor. More... | |
void | init (const IntView &y, int c) |
Initialize with integer view y and value c. More... | |
void | init (Space &home, const IntSet &s, int c) |
Initialize for set s and cardinality c. More... | |
Value access | |
int | min (void) const |
Return minimum of domain. More... | |
int | max (void) const |
Return maximum of domain. More... | |
unsigned int | size (void) const |
Return size (cardinality) of domain. More... | |
int | counter (void) const |
Return the number of times the value occurs. More... | |
int | card (void) const |
Return cardinality. More... | |
Domain update by value | |
Set the counter to the number of times value n occurs | |
void | counter (int n) |
Increment counter. More... | |
ModEvent | inc (void) |
Increment counter. More... | |
ModEvent | lq (Space &home, int n) |
Restrict domain values to be less or equal than n. More... | |
ModEvent | gq (Space &home, int n) |
Restrict domain values to be greater or equal than n. More... | |
ModEvent | eq (Space &home, int n) |
Restrict domain values to be equal to n. More... | |
Domain update by iterator | |
template<class I > | |
ModEvent | narrow_v (Space &home, I &i, bool depends=true) |
Replace domain by values described by i. More... | |
template<class I > | |
ModEvent | inter_v (Space &home, I &i, bool depends=true) |
Intersect domain with values described by i. More... | |
template<class I > | |
ModEvent | minus_v (Space &home, I &i, bool depends=true) |
Remove from domain the values described by i. More... | |
Cloning | |
void | update (Space &home, bool share, CardView &x) |
Additional Inherited Members | |
![]() | |
typedef IntView::VarImpType | VarImpType |
The variable implementation type belonging to the View. More... | |
typedef IntView::VarType | VarType |
The variable type belonging to the View. More... | |
![]() | |
VarImpType * | varimp (void) const |
Return variable implementation of view. More... | |
IntView | base (void) const |
Return view from which this view is derived. More... | |
unsigned int | degree (void) const |
Return degree (number of subscribed propagators) More... | |
double | afc (const Space &home) const |
Return accumulated failure count. More... | |
bool | assigned (void) const |
Test whether view is assigned. More... | |
void | subscribe (Space &home, Propagator &p, PropCond pc, bool schedule=true) |
Subscribe propagator p with propagation condition pc to view. More... | |
void | subscribe (Space &home, Advisor &a) |
Subscribe advisor a to view. More... | |
void | cancel (Space &home, Propagator &p, PropCond pc) |
Cancel subscription of propagator p with propagation condition pc to view. More... | |
void | cancel (Space &home, Advisor &a) |
Cancel subscription of advisor a. More... | |
void | update (Space &home, bool share, DerivedView< IntView > &y) |
Update this view to be a clone of view y. More... | |
![]() | |
static bool | varderived (void) |
Return whether this view is derived from a VarImpView. More... | |
static void | schedule (Space &home, Propagator &p, ModEvent me) |
Schedule propagator p with modification event me. More... | |
static ModEvent | me (const ModEventDelta &med) |
Return modification event for view type in med. More... | |
static ModEventDelta | med (ModEvent) |
Translate modification event me to modification event delta for view. More... | |
static ModEvent | modevent (const Delta &d) |
Return modification event. More... | |
![]() | |
DerivedView (void) | |
Default constructor. More... | |
DerivedView (const IntView &y) | |
Initialize with view y. More... | |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
|
static |