Module Fcl_var.Attr

module Attr: ATTR 
  with type domain = Fcl_domain.t and type elt = Fcl_domain.elt

type t 

Type of attributes.

type domain 

Type of domains stored in attributes.

type elt 

Type of element of domains.

type event 

Type of events (modifications on variables) on which to suspend.

val dom : t -> domain

dom a returns the integer domain of an attribute.

val on_refine : event

Event occuring when a variable is changed, i.e. its domain modified.

val on_subst : event

Event occuring when a variable is instantiated.

val on_min : event
val on_max : event

Event occuring when the lower (resp. upper) bound of a variable decreases.

val fprint : Stdlib.out_channel -> t -> unit

fprint chan a prints attribute a on channel chan.

val min : t -> elt
val max : t -> elt

min a (resp. max a) returns the lower (resp. upper) bound of a.

val member : t -> elt -> bool

member a n tests if n belongs to dom a.

val id : t -> int

id a returns a unique integer identifying the attribute a.

val constraints_number : t -> int

constraints_number a returns the number of different constraints attached to a.

val size : t -> int

size a returns the number of integer values in the domain of a.