Reg.Set
include NS.Set.S with type elt := Llair__.LlairExp.Reg.exp
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
compare
types are equipped with functions to support use of @@deriving compare, equal, sexp
on types parameterized by such singleton types for compare functions. These derived functions are never actually called, since the compare type parameters are phantom.
val sexp_of_compare : compare -> Sexplib0.Sexp.t
val compare_of_sexp : Sexplib0.Sexp.t -> compare
module Provide_of_sexp (_ : sig ... end) : sig ... end
val pp_full :
?pre:(unit, Stdlib.Format.formatter, unit, unit) Stdlib.format4 ->
?suf:(unit, Stdlib.Format.formatter, unit, unit) Stdlib.format4 ->
?sep:(unit, Stdlib.Format.formatter, unit, unit) Stdlib.format4 ->
(Stdlib.Format.formatter -> Llair__.LlairExp.Reg.exp -> unit) ->
Stdlib.Format.formatter ->
t ->
unit
module Provide_pp (_ : sig ... end) : sig ... end
val empty : t
val of_ : Llair__.LlairExp.Reg.exp -> t
val of_option : Llair__.LlairExp.Reg.exp option -> t
val of_list : Llair__.LlairExp.Reg.exp list -> t
val is_empty : t -> bool
val cardinal : t -> int
val mem : Llair__.LlairExp.Reg.exp -> t -> bool
val max_elt : t -> Llair__.LlairExp.Reg.exp option
val only_elt : t -> Llair__.LlairExp.Reg.exp option
val classify : t -> Llair__.LlairExp.Reg.exp NS__.NS0.zero_one_many
val choose : t -> Llair__.LlairExp.Reg.exp option
Find an unspecified element. Different elements may be chosen for equivalent sets. O(1)
.
val choose_exn : t -> Llair__.LlairExp.Reg.exp
Find an unspecified element. Different elements may be chosen for equivalent sets. O(1)
.
val find : Llair__.LlairExp.Reg.exp -> t -> Llair__.LlairExp.Reg.exp
Map f
over a set, removing any element e
where f e = None
.
val iter : t -> f:(Llair__.LlairExp.Reg.exp -> unit) -> unit
val exists : t -> f:(Llair__.LlairExp.Reg.exp -> bool) -> bool
val for_all : t -> f:(Llair__.LlairExp.Reg.exp -> bool) -> bool
val fold : t -> 's -> f:(Llair__.LlairExp.Reg.exp -> 's -> 's) -> 's
val reduce :
t ->
f:
(Llair__.LlairExp.Reg.exp ->
Llair__.LlairExp.Reg.exp ->
Llair__.LlairExp.Reg.exp) ->
Llair__.LlairExp.Reg.exp option
val fold_map :
t ->
's ->
f:(Llair__.LlairExp.Reg.exp -> 's -> Llair__.LlairExp.Reg.exp * 's) ->
t * 's
Map f
over a set while threading an accumulator through calls to f
.
val to_list : t -> Llair__.LlairExp.Reg.exp list
val to_iter : t -> (Llair__.LlairExp.Reg.exp -> unit) -> unit
val of_iter : ((Llair__.LlairExp.Reg.exp -> unit) -> unit) -> t