27 emplace_shared<SingleValue>(dkey,
value);
32 emplace_shared<BinaryAllDiff>(
key1,
key2);
64 Domains runArcConsistency(
size_t cardinality,
65 size_t maxIterations = 10)
const;
73 CSP partiallyApply(
const Domains& domains)
const;
void addAllDiff(const DiscreteKeys &dkeys)
Add a general AllDiff constraint.
std::map< Key, Domain > Domains
const Symbol key1('v', 1)
void addAllDiff(const DiscreteKey &key1, const DiscreteKey &key2)
Add a binary AllDiff constraint.
std::pair< Key, size_t > DiscreteKey
void addSingleValue(const DiscreteKey &dkey, size_t value)
Add a unary constraint, allowing only a single value.
const Symbol key2('v', 2)
DiscreteKeys is a set of keys that can be assembled using the & operator.