class
AbstractUniverseIntensionConstraintFactoryContents
- Reference
The UniverseIntensionConstraintFactory makes easier the construction of intension constraints from the solver's API, by providing a functional notation.
Derived classes
Public functions
-
auto constant(long value) -> Universe::
IUniverseIntensionConstraint* pure virtual -
auto constant(const Universe::
BigInteger& value) -> Universe:: IUniverseIntensionConstraint* pure virtual -
auto variable(std::string id) -> Universe::
IUniverseIntensionConstraint* pure virtual -
auto neg(Universe::
IUniverseIntensionConstraint* constraint) -> Universe:: IUniverseIntensionConstraint* -
auto abs(Universe::
IUniverseIntensionConstraint* constraint) -> Universe:: IUniverseIntensionConstraint* -
auto add(std::vector<Universe::
IUniverseIntensionConstraint*> constraints) -> Universe:: IUniverseIntensionConstraint* -
auto sub(Universe::
IUniverseIntensionConstraint* left, Universe:: IUniverseIntensionConstraint* right) -> Universe:: IUniverseIntensionConstraint* -
auto mult(std::vector<Universe::
IUniverseIntensionConstraint*> constraints) -> Universe:: IUniverseIntensionConstraint* -
auto div(Universe::
IUniverseIntensionConstraint* left, Universe:: IUniverseIntensionConstraint* right) -> Universe:: IUniverseIntensionConstraint* -
auto mod(Universe::
IUniverseIntensionConstraint* left, Universe:: IUniverseIntensionConstraint* right) -> Universe:: IUniverseIntensionConstraint* -
auto sqr(Universe::
IUniverseIntensionConstraint* constraint) -> Universe:: IUniverseIntensionConstraint* -
auto pow(Universe::
IUniverseIntensionConstraint* constraint, Universe:: IUniverseIntensionConstraint* exponent) -> Universe:: IUniverseIntensionConstraint* -
auto min(std::vector<Universe::
IUniverseIntensionConstraint*> constraints) -> Universe:: IUniverseIntensionConstraint* -
auto max(std::vector<Universe::
IUniverseIntensionConstraint*> constraints) -> Universe:: IUniverseIntensionConstraint* -
auto dist(Universe::
IUniverseIntensionConstraint* left, Universe:: IUniverseIntensionConstraint* right) -> Universe:: IUniverseIntensionConstraint* -
auto lt(Universe::
IUniverseIntensionConstraint* left, Universe:: IUniverseIntensionConstraint* right) -> Universe:: IUniverseIntensionConstraint* -
auto le(Universe::
IUniverseIntensionConstraint* left, Universe:: IUniverseIntensionConstraint* right) -> Universe:: IUniverseIntensionConstraint* -
auto eq(std::vector<Universe::
IUniverseIntensionConstraint*> constraints) -> Universe:: IUniverseIntensionConstraint* -
auto neq(Universe::
IUniverseIntensionConstraint* left, Universe:: IUniverseIntensionConstraint* right) -> Universe:: IUniverseIntensionConstraint* -
auto ge(Universe::
IUniverseIntensionConstraint* left, Universe:: IUniverseIntensionConstraint* right) -> Universe:: IUniverseIntensionConstraint* -
auto gt(Universe::
IUniverseIntensionConstraint* left, Universe:: IUniverseIntensionConstraint* right) -> Universe:: IUniverseIntensionConstraint* -
auto negation(Universe::
IUniverseIntensionConstraint* constraint) -> Universe:: IUniverseIntensionConstraint* -
auto conjunction(std::vector<Universe::
IUniverseIntensionConstraint*> constraints) -> Universe:: IUniverseIntensionConstraint* -
auto disjunction(std::vector<Universe::
IUniverseIntensionConstraint*> constraints) -> Universe:: IUniverseIntensionConstraint* -
auto parity(std::vector<Universe::
IUniverseIntensionConstraint*> constraints) -> Universe:: IUniverseIntensionConstraint* -
auto equiv(std::vector<Universe::
IUniverseIntensionConstraint*> constraints) -> Universe:: IUniverseIntensionConstraint* -
auto impl(Universe::
IUniverseIntensionConstraint* left, Universe:: IUniverseIntensionConstraint* right) -> Universe:: IUniverseIntensionConstraint* -
auto in(Universe::
IUniverseIntensionConstraint* constraint, const Universe:: BigInteger& min, const Universe:: BigInteger& max) -> Universe:: IUniverseIntensionConstraint* pure virtual -
auto in(Universe::
IUniverseIntensionConstraint* constraint, std::vector<Universe:: IUniverseIntensionConstraint*> set) -> Universe:: IUniverseIntensionConstraint* pure virtual -
auto notIn(Universe::
IUniverseIntensionConstraint* constraint, const Universe:: BigInteger& min, const Universe:: BigInteger& max) -> Universe:: IUniverseIntensionConstraint* pure virtual -
auto notIn(Universe::
IUniverseIntensionConstraint* constraint, std::vector<Universe:: IUniverseIntensionConstraint*> set) -> Universe:: IUniverseIntensionConstraint* pure virtual -
auto ite(Universe::
IUniverseIntensionConstraint* condition, Universe:: IUniverseIntensionConstraint* ifTrue, Universe:: IUniverseIntensionConstraint* ifFalse) -> Universe:: IUniverseIntensionConstraint* pure virtual -
auto unary(Universe::
UniverseOperator op, Universe:: IUniverseIntensionConstraint* constraint) -> Universe:: IUniverseIntensionConstraint* pure virtual -
auto binary(Universe::
UniverseOperator op, Universe:: IUniverseIntensionConstraint* left, Universe:: IUniverseIntensionConstraint* right) -> Universe:: IUniverseIntensionConstraint* pure virtual -
auto nary(Universe::
UniverseOperator op, std::vector<Universe:: IUniverseIntensionConstraint*> constraints) -> Universe:: IUniverseIntensionConstraint* pure virtual
Function documentation
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: constant(long value) pure virtual
Parameters | |
---|---|
value | The value of the constant. |
Returns | The created intension constraint. |
Wraps a constant value in its representation as an intension constraint.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: constant(const Universe:: BigInteger& value) pure virtual
Parameters | |
---|---|
value | The value of the constant. |
Returns | The created intension constraint. |
Wraps a constant value in its representation as an intension constraint.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: variable(std::string id) pure virtual
Parameters | |
---|---|
id | The identifier of the variable. |
Returns | The created intension constraint. |
Wraps a variable in its representation as an intension constraint.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: neg(Universe:: IUniverseIntensionConstraint* constraint)
Parameters | |
---|---|
constraint | The constraint on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the opposite operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: abs(Universe:: IUniverseIntensionConstraint* constraint)
Parameters | |
---|---|
constraint | The constraint on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the absolute-value operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: add(std::vector<Universe:: IUniverseIntensionConstraint*> constraints)
Parameters | |
---|---|
constraints | The constraints on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the addition operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: sub(Universe:: IUniverseIntensionConstraint* left,
Universe:: IUniverseIntensionConstraint* right)
Parameters | |
---|---|
left | The left constraint on which the operator is applied. |
right | The right constraint on which the operator is applied. |
Returns | The created intension constraint. |
Creates an intension constraint applying the subtraction operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: mult(std::vector<Universe:: IUniverseIntensionConstraint*> constraints)
Parameters | |
---|---|
constraints | The constraints on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the multiplication operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: div(Universe:: IUniverseIntensionConstraint* left,
Universe:: IUniverseIntensionConstraint* right)
Parameters | |
---|---|
left | The left constraint on which the operator is applied. |
right | The right constraint on which the operator is applied. |
Returns | The created intension constraint. |
Creates an intension constraint applying the division operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: mod(Universe:: IUniverseIntensionConstraint* left,
Universe:: IUniverseIntensionConstraint* right)
Parameters | |
---|---|
left | The left constraint on which the operator is applied. |
right | The right constraint on which the operator is applied. |
Returns | The created intension constraint. |
Creates an intension constraint applying the modulo operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: sqr(Universe:: IUniverseIntensionConstraint* constraint)
Parameters | |
---|---|
constraint | The constraint on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the square operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: pow(Universe:: IUniverseIntensionConstraint* constraint,
Universe:: IUniverseIntensionConstraint* exponent)
Parameters | |
---|---|
constraint | The constraint on which the operator is applied. |
exponent | The exponent in the power operation |
Returns | The created intension constraint. |
Creates an intension constraint applying the power operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: min(std::vector<Universe:: IUniverseIntensionConstraint*> constraints)
Parameters | |
---|---|
constraints | The constraints on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the minimum operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: max(std::vector<Universe:: IUniverseIntensionConstraint*> constraints)
Parameters | |
---|---|
constraints | The constraints on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the maximum operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: dist(Universe:: IUniverseIntensionConstraint* left,
Universe:: IUniverseIntensionConstraint* right)
Parameters | |
---|---|
left | The left constraint on which the operator is applied. |
right | The right constraint on which the operator is applied. |
Returns | The created intension constraint. |
Creates an intension constraint applying the distance operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: lt(Universe:: IUniverseIntensionConstraint* left,
Universe:: IUniverseIntensionConstraint* right)
Parameters | |
---|---|
left | The left constraint on which the operator is applied. |
right | The right constraint on which the operator is applied. |
Returns | The created intension constraint. |
Creates an intension constraint applying the less-than operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: le(Universe:: IUniverseIntensionConstraint* left,
Universe:: IUniverseIntensionConstraint* right)
Parameters | |
---|---|
left | The left constraint on which the operator is applied. |
right | The right constraint on which the operator is applied. |
Returns | The created intension constraint. |
Creates an intension constraint applying the less-or-equal operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: eq(std::vector<Universe:: IUniverseIntensionConstraint*> constraints)
Parameters | |
---|---|
constraints | The constraints on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the equal operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: neq(Universe:: IUniverseIntensionConstraint* left,
Universe:: IUniverseIntensionConstraint* right)
Parameters | |
---|---|
left | The left constraint on which the operator is applied. |
right | The right constraint on which the operator is applied. |
Returns | The created intension constraint. |
Creates an intension constraint applying the different operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: ge(Universe:: IUniverseIntensionConstraint* left,
Universe:: IUniverseIntensionConstraint* right)
Parameters | |
---|---|
left | The left constraint on which the operator is applied. |
right | The right constraint on which the operator is applied. |
Returns | The created intension constraint. |
Creates an intension constraint applying the greater-or-equal operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: gt(Universe:: IUniverseIntensionConstraint* left,
Universe:: IUniverseIntensionConstraint* right)
Parameters | |
---|---|
left | The left constraint on which the operator is applied. |
right | The right constraint on which the operator is applied. |
Returns | The created intension constraint. |
Creates an intension constraint applying the greater-than operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: negation(Universe:: IUniverseIntensionConstraint* constraint)
Parameters | |
---|---|
constraint | The constraint on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the not operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: conjunction(std::vector<Universe:: IUniverseIntensionConstraint*> constraints)
Parameters | |
---|---|
constraints | The constraints on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the conjunction operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: disjunction(std::vector<Universe:: IUniverseIntensionConstraint*> constraints)
Parameters | |
---|---|
constraints | The constraints on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the disjunction operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: parity(std::vector<Universe:: IUniverseIntensionConstraint*> constraints)
Parameters | |
---|---|
constraints | The constraints on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the exclusive-disjunction operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: equiv(std::vector<Universe:: IUniverseIntensionConstraint*> constraints)
Parameters | |
---|---|
constraints | The constraints on which to apply the operator. |
Returns | The created intension constraint. |
Creates an intension constraint applying the equivalence operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: impl(Universe:: IUniverseIntensionConstraint* left,
Universe:: IUniverseIntensionConstraint* right)
Parameters | |
---|---|
left | The left constraint on which the operator is applied. |
right | The right constraint on which the operator is applied. |
Returns | The created intension constraint. |
Creates an intension constraint applying the implication operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: in(Universe:: IUniverseIntensionConstraint* constraint,
const Universe:: BigInteger& min,
const Universe:: BigInteger& max) pure virtual
Parameters | |
---|---|
constraint | The constraint that should be in the range. |
min | The minimum value in the range. |
max | The maximum value in the range. |
Returns | The created intension constraint. |
Creates an intension constraint applying the in operator w.r.t. a range of values.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: in(Universe:: IUniverseIntensionConstraint* constraint,
std::vector<Universe:: IUniverseIntensionConstraint*> set) pure virtual
Parameters | |
---|---|
constraint | The constraint that should be in the set. |
set | The constraints in the set. |
Returns | The created intension constraint. |
Creates an intension constraint applying the in operator w.r.t. a set of values.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: notIn(Universe:: IUniverseIntensionConstraint* constraint,
const Universe:: BigInteger& min,
const Universe:: BigInteger& max) pure virtual
Parameters | |
---|---|
constraint | The constraint that should not be in the range. |
min | The minimum value in the range. |
max | The maximum value in the range. |
Returns | The created intension constraint. |
Creates an intension constraint applying the not-in operator w.r.t. a range of values.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: notIn(Universe:: IUniverseIntensionConstraint* constraint,
std::vector<Universe:: IUniverseIntensionConstraint*> set) pure virtual
Parameters | |
---|---|
constraint | The constraint that should not be in the set. |
set | The constraints in the set. |
Returns | The created intension constraint. |
Creates an intension constraint applying the not-in operator w.r.t. a set of values.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: ite(Universe:: IUniverseIntensionConstraint* condition,
Universe:: IUniverseIntensionConstraint* ifTrue,
Universe:: IUniverseIntensionConstraint* ifFalse) pure virtual
Parameters | |
---|---|
condition | The condition of the constraint. |
ifTrue | The intension constraint corresponding to the case in which the condition evaluates to true. |
ifFalse | The intension constraint corresponding to the case in which the condition evaluates to false. |
Returns | The created intension constraint. |
Creates an intension constraint applying the if-then-else operator.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: unary(Universe:: UniverseOperator op,
Universe:: IUniverseIntensionConstraint* constraint) pure virtual
Parameters | |
---|---|
op | The operator applied by the constraint. |
constraint | The constraint on which the operator is applied. |
Returns | The created intension constraint. |
Creates a new unary intension constraint.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: binary(Universe:: UniverseOperator op,
Universe:: IUniverseIntensionConstraint* left,
Universe:: IUniverseIntensionConstraint* right) pure virtual
Parameters | |
---|---|
op | The operator applied by the constraint. |
left | The left constraint on which the operator is applied. |
right | The right constraint on which the operator is applied. |
Returns | The created intension constraint. |
Creates a new binary intension constraint.
Universe:: IUniverseIntensionConstraint* Universe:: AbstractUniverseIntensionConstraintFactory:: nary(Universe:: UniverseOperator op,
std::vector<Universe:: IUniverseIntensionConstraint*> constraints) pure virtual
Parameters | |
---|---|
op | The operator applied by the constraint. |
constraints | The constraints on which the operator is applied. |
Returns | The created intension constraint. |
Creates a new n-ary intension constraint.