Go to the documentation of this file.
38 #ifndef __GECODE_INT_NVALUES_HH__
39 #define __GECODE_INT_NVALUES_HH__
49 namespace Gecode {
namespace Int {
namespace NValues {
80 int pos(
int x,
int y)
const;
85 bool get(
int x,
int y)
const;
87 void set(
int x,
int y);
97 namespace Gecode {
namespace Int {
namespace NValues {
108 int size(
void)
const;
127 namespace Gecode {
namespace Int {
namespace NValues {
290 namespace Gecode {
namespace Int {
namespace NValues {
BoolBase(Home home, int status, ViewArray< BoolView > &x, VY y)
Constructor for posting.
Post propagator for SetVar x
View-value graph base class.
EqBool(Home home, int status, ViewArray< BoolView > &x, VY y)
Constructor for posting.
virtual Propagator * copy(Space &home, bool share)
Copy propagator during cloning.
Post propagator for SetVar SetOpType SetVar y
virtual void reschedule(Space &home)
Schedule function.
ExecStatus prune_lower(Space &home, int *dis, int n_dis)
size_t size
The size of the propagator (used during subsumption)
static ExecStatus post(Home home, ViewArray< BoolView > &x, VY y)
Post propagator for .
VY y
The view for counting the number of values.
void sync(Space &home)
Synchronize graph with new view domains.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
virtual PropCost cost(const Space &, const ModEventDelta &) const
Cost function.
Class for storing values of already assigned views.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
ViewArray< IntView > x
Array of views.
int status
Status information about the views.
Equal to number of values propagator for integer views.
GqInt(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
static const int VS_ONE
View status: a one has already been encountered.
void eliminate(Space &home)
Eliminate subsumed views (all values included in the value set vs)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
bool get(int x, int y) const
Is bit at position x, y set?
virtual ExecStatus advise(Space &home, Advisor &a, const Delta &d)
Give advice to propagator.
RangeEventType ret
The event type.
static ExecStatus post(Home home, ViewArray< BoolView > &x, VY y)
Post propagator for .
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Number of values propagator for integer views base class.
int n_matched
Number of matched edges.
Greater or equal to number of values propagator for Boolean views.
Base-class for both propagators and branchers.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Mixed (n+1)-ary propagator.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
@ RET_END
No further events.
ExecStatus all_in_valset(Space &home)
Propagate that all views must take values from value set.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Equal to number of values propagator for Boolean views.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, ViewArray< IntView > &x, VY y)
Post propagator for .
Gecode toplevel namespace
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Base-class for propagators.
static ExecStatus post(Home home, ViewArray< BoolView > &x, VY y)
Post propagator for .
IntBase(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
Generic domain change information to be supplied to advisors.
static const int VS_ZERO
View status: a zero has already been encountered.
Home class for posting propagators
Number of values propagator for Boolean views base class.
struct Gecode::@579::NNF::@61::@63 a
For atomic nodes.
Symmetric diagonal bit matrix.
View-value graph for propagation of upper bound.
Event for range-based overlap analysis.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
Post propagator for SetVar SetOpType SetVar SetRelType r
ExecStatus prune_upper(Space &home, Graph &g)
ModEventDelta med
A set of modification events (used during propagation)
Less or equal to number of values propagator for integer views.
LqBool(Home home, int status, ViewArray< BoolView > &x, VY y)
Constructor for posting.
virtual Propagator * copy(Space &home, bool share)
Copy propagator during cloning.
int view
Which view does this range belong to.
ValSet vs
Value set storing the values of already assigned views.
Less or equal to number of values propagator for Boolean views.
int val
The value for the range (first or last value, depending on type)
RangeEventType
Event type for range-based overlap analysis.
LqInt(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
void disjoint(Space &home, Region &r, int *&dis, int &n_dis)
Graph(void)
Construct graph as not yet initialized.
GqBool(Home home, int status, ViewArray< BoolView > &x, VY y)
Constructor for posting.
int size(void) const
Return size of maximal matching (excluding assigned views)
Council< ViewAdvisor< BoolView > > c
The advisor council.
EqInt(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
static ExecStatus post(Home home, ViewArray< IntView > &x, VY y)
Post propagator for .
ExecStatus prune(Space &home)
Prune all values corresponding to unused edges.
bool operator<(RangeEvent re) const
Order events: first by val, then by event type.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
static ExecStatus post(Home home, ViewArray< IntView > &x, VY y)
Post propagator for .
int ModEventDelta
Modification event deltas.
int pos(int x, int y) const
Return position in matrix.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
int p
Number of positive literals for node type.
SymBitMatrix(Region &r, int n)
Initialize matrix for dimension n by n.
void init(Space &home, const ValSet &vs, const ViewArray< IntView > &x)
Initialize graph including values in vs.
void set(int x, int y)
Set bit at position x, y.
Greater or equal to number of values propagator for integer views.
virtual Propagator * copy(Space &home, bool share)
Copy propagator during cloning.
void add(Space &home)
Add values of assigned views to value set.