Sha256: 386d3a340c2a3a6cf53b8c603b308299be529d7e04cac7bb2bb5a0bccd773607

Contents?: true

Size: 1.07 KB

Versions: 2

Compression:

Stored size: 1.07 KB

Contents

module Gecode
  class FreeSetVar
    include Gecode::Constraints::LeftHandSideMethods
    
    private
    
    # Produces an expression for the lhs module.
    def expression(params)
      params.update(:lhs => self)
      Constraints::Set::Expression.new(@model, params)
    end
  end
  
  # A module containing constraints that have set variables as left hand side
  # (but not enumerations).
  module Constraints::Set
    # An expression with a set as left hand side.
    class Expression < Gecode::Constraints::Expression
    end
    
    # Utility methods for sets.
    module Util
      module_function
      def decode_options(options)
        if options.has_key? :strength
          raise ArgumentError, 'Set constraints do not support the strength ' +
            'option.'
        end
        Gecode::Constraints::Util.decode_options(options)
      end
    end
  end
end

require 'gecoder/interface/constraints/set/domain'
require 'gecoder/interface/constraints/set/relation'
require 'gecoder/interface/constraints/set/cardinality'
require 'gecoder/interface/constraints/set/connection'

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gecoder-0.6.1 lib/gecoder/interface/constraints/set_var_constraints.rb
gecoder-0.6.0 lib/gecoder/interface/constraints/set_var_constraints.rb