class Gecode::SetElements::SetElementsConstraintReceiver

SetElementsConstraintReceiver contains all constraints that can be placed on a SetElementsOperand.

Constraints are placed by calling Gecode::Operand#must (or any other of the variations defined in Operand), which produces a SetElementsConstraintReceiver from which the desired constraint can be used.

Each constraint accepts a number of options. See ConstraintReceiver for more information.

Examples

Constrains all elements in set_operand to be strictly greater than 17 using SetOperand#elements and SetElementsConstraintReceiver#>:

set.elements.must > 17

Constrains all elements in set_operand to be strictly greater than int_operand using SetOperand#elements and SetElementsConstraintReceiver#>:

set.elements.must > int_operand

The same as above, but specifying that strength :domain should be used and that the constraint should be reified with bool_operand:

set.elements.must_be.greater_than(int_operand, :strength => :domain, :reify => bool_operand)

Public Instance Methods

<(operand, options = {}) click to toggle source

Constrains the set elements to be strictly less than operand (either a constant integer or an integer operand).

Examples

# The elements of +set+ must be strictly less than +int+
set.elements.must < int

# The elements of +set+ must be strictly less than 17
set.elements.must < 17
# File lib/gecoder/interface/constraints/set_elements/relation.rb, line 55
def <(operand, options = {})
  comparison(:<, operand, options)
end
<=(operand, options = {}) click to toggle source

Constrains the set elements to be less than or equal to operand (either a constant integer or an integer operand).

Examples

# The elements of +set+ must be less than or equal to +int+
set.elements.must <= int

# The elements of +set+ must be less than or equal to 17
set.elements.must <= 17
# File lib/gecoder/interface/constraints/set_elements/relation.rb, line 69
def <=(operand, options = {})
  comparison(:<=, operand, options)
end
==(operand, options = {}) click to toggle source

Constrains the set elements to equal operand (either a constant integer or an integer operand).

Examples

# The elements of +set+ must equal +int+
set.elements.must == int

# The elements of +set+ must equal 17
set.elements.must == 17
# File lib/gecoder/interface/constraints/set_elements/relation.rb, line 13
def ==(operand, options = {})
  comparison(:==, operand, options)
end
>(operand, options = {}) click to toggle source

Constrains the set elements to be strictly greater than operand (either a constant integer or an integer operand).

Examples

# The elements of +set+ must be strictly greater than +int+
set.elements.must > int

# The elements of +set+ must be strictly greater than 17
set.elements.must > 17
# File lib/gecoder/interface/constraints/set_elements/relation.rb, line 27
def >(operand, options = {})
  comparison(:>, operand, options)
end
>=(operand, options = {}) click to toggle source

Constrains the set elements to be greater than or equal to operand (either a constant integer or an integer operand).

Examples

# The elements of +set+ must be greater than or equal to +int+
set.elements.must >= int

# The elements of +set+ must be greater than or equal to 17
set.elements.must >= 17
# File lib/gecoder/interface/constraints/set_elements/relation.rb, line 41
def >=(operand, options = {})
  comparison(:>=, operand, options)
end