Go to the documentation of this file.
34 #ifndef __GECODE_INT_NVALUES_HH__
35 #define __GECODE_INT_NVALUES_HH__
45 namespace Gecode {
namespace Int {
namespace NValues {
76 int pos(
int x,
int y)
const;
81 bool get(
int x,
int y)
const;
83 void set(
int x,
int y);
93 namespace Gecode {
namespace Int {
namespace NValues {
104 int size(
void)
const;
123 namespace Gecode {
namespace Int {
namespace NValues {
284 namespace Gecode {
namespace Int {
namespace NValues {
virtual Actor * copy(Space &home)
Copy propagator during cloning.
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.
Post propagator for SetVar SetOpType SetVar y
virtual void reschedule(Space &home)
Schedule function.
ExecStatus prune_lower(Space &home, int *dis, int n_dis)
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, ViewArray< BoolView > &x, VY y)
Post propagator for .
VY y
The view for counting the number of values.
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?
void sync(void)
Synchronize graph with new view domains.
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.
Symmetric diagonal bit matrix.
View-value graph for propagation of upper bound.
Event for range-based overlap analysis.
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.
int view
Which view does this range belong to.
struct Gecode::@602::NNF::@65::@67 a
For atomic nodes.
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.
virtual Propagator * copy(Space &home)
Copy propagator during cloning.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
LqInt(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
void disjoint(Space &home, Region &r, int *&dis, int &n_dis)
virtual Propagator * copy(Space &home)
Copy propagator during cloning.
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.
virtual Propagator * copy(Space &home)
Copy propagator during cloning.
bool operator<(RangeEvent re) const
Order events: first by val, then by event type.
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.
void add(Space &home)
Add values of assigned views to value set.