package core_kernel

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

This module defines interfaces used in Core.Set. This module uses the same organizational approach as Core_map_intf. See the documentation in core_map.mli for a description of the approach.

This module defines module types {Creators,Accessors}{0,1,2,_generic,_with_comparator}. It uses check functors to ensure that each module types 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 Container_intf = Base.Container_intf
module Set_intf = Base.Set_intf
module type Elt_plain = Core_set_intf.Elt_plain
module type Elt = Core_set_intf.Elt
module Without_comparator = Base.Set_intf.Without_comparator
module With_comparator = Base.Set_intf.With_comparator
module Map : sig ... end

This module defines the Map module for Core. We use "core_map" as the file name rather than "map" to avoid conflicts with OCaml's standard map module. In this documentation, we use Map to mean this module, not the OCaml standard one.

module Continue_or_stop = Base.Container_intf.Continue_or_stop
module Finished_or_stopped_early = Base.Container_intf.Finished_or_stopped_early
module Merge_to_sequence_element = Sequence.Merge_with_duplicates_element
module Check_accessors (T : Base.T.T2) (Tree : Base.T.T2) (Elt : Base.T.T1) (Cmp : Base.T.T1) (Options : Base.T.T3) (M : Core_set_intf.Accessors_generic with type ('a, 'b, 'c) options := ('a, 'b, 'c) Options.t with type ('a, 'b) t := ('a, 'b) T.t with type ('a, 'b) tree := ('a, 'b) Tree.t with type 'a elt := 'a Elt.t with type 'cmp cmp := 'cmp Cmp.t) : sig ... end

Consistency checks (same as in Container).

module Check_creators (T : Base.T.T2) (Tree : Base.T.T2) (Elt : Base.T.T1) (Cmp : Base.T.T1) (Options : Base.T.T3) (M : Core_set_intf.Creators_generic with type ('a, 'b, 'c) options := ('a, 'b, 'c) Options.t with type ('a, 'b) t := ('a, 'b) T.t with type ('a, 'b) tree := ('a, 'b) Tree.t with type 'a elt := 'a Elt.t with type 'cmp cmp := 'cmp Cmp.t) : sig ... end
module Check_creators0 (M : Core_set_intf.Creators0) : sig ... end
module Check_creators1 (M : Core_set_intf.Creators1) : sig ... end
module Check_creators2 (M : Core_set_intf.Creators2) : sig ... end
module Make_S_plain_tree (Elt : Comparator.S) : sig ... end
module type S = Core_set_intf.S