Core.Set_intf
This module defines interfaces used in Set
. See the Map
docs for a description of the design.
This module defines module types {Creators,Accessors}{0,1,2,_generic,_with_comparator}
. It uses check functors to ensure that each module type is an instance of the corresponding _generic
one.
We must treat Creators
and Accessors
separately, because we sometimes need to choose different instantiations of their options
. In particular, Set
itself matches Creators2_with_comparator
but Accessors2
(without comparator).
module Binable : sig ... end
module Set = Base.Set
module Tree = Set.Using_comparator.Tree
module Container = Base.Container
module type Elt_plain = Set.Elt_plain
module type Elt = sig ... end
module type Elt_binable = sig ... end
module Elt_bin_io : sig ... end
module type For_deriving = sig ... end
module type For_deriving_stable = sig ... end
module Without_comparator = Set.Without_comparator
module With_comparator = Set.With_comparator
module With_first_class_module = Set.With_first_class_module
module Continue_or_stop = Container.Continue_or_stop
module Merge_to_sequence_element = Sequence.Merge_with_duplicates_element
module type Accessors_generic = sig ... end
module type Creators_generic = sig ... end
module type Creators_and_accessors_generic = sig ... end
module Make_S_plain_tree (Elt : Comparator.S) : sig ... end
module type S_plain = sig ... end
module type S = sig ... end
module type S_binable = sig ... end