Module Set.Using_comparatorSource
Using comparator is a similar interface as the toplevel of Set, except the functions take a ~comparator:('elt, 'cmp) Comparator.t where the functions at the toplevel of Set takes a ('elt, 'cmp) comparator.
Source
val sexp_of_t :
('elt -> Sexplib0.Sexp.t) ->
('cmp -> Sexplib0.Sexp.t) ->
('elt, 'cmp) Base.Set.Using_comparator.t ->
Sexplib0.Sexp.tSource
val t_of_sexp_direct :
comparator:('elt, 'cmp) Base.Comparator.t ->
(Base.Sexp.t -> 'elt) ->
Base.Sexp.t ->
('elt, 'cmp) Base.Set.Using_comparator.tinclude Base.Container.Generic
with type ('a, 'cmp, _) t := ('a, 'cmp) Base.Set.Using_comparator.t
with type 'a elt := 'a
Source
val fold_result :
('a, _) Base.Set.Using_comparator.t ->
init:'acc ->
f:('acc -> 'a -> ('acc, 'e) Base.Result.t) ->
('acc, 'e) Base.Result.tSource
val sum :
(module Container.Summable with type t = 'sum) ->
('a, _) Base.Set.Using_comparator.t ->
f:('a -> 'sum) ->
'sumoverride Container's mem
Source
val add :
('a, 'cmp) Base.Set.Using_comparator.t ->
'a ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val remove :
('a, 'cmp) Base.Set.Using_comparator.t ->
'a ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val union :
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val inter :
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val diff :
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val symmetric_diff :
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'a) Base.Either.t Base.Sequence.tSource
val compare_direct :
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.t ->
intSource
val equal :
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.t ->
boolSource
val is_subset :
('a, 'cmp) Base.Set.Using_comparator.t ->
of_:('a, 'cmp) Base.Set.Using_comparator.t ->
boolSource
val are_disjoint :
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.t ->
boolSource
val fold_until :
('a, _) Base.Set.Using_comparator.t ->
init:'acc ->
f:('acc -> 'a -> ('acc, 'final) Container.Continue_or_stop.t) ->
finish:('acc -> 'final) ->
'finalSource
val fold_right :
('a, _) Base.Set.Using_comparator.t ->
init:'acc ->
f:('a -> 'acc -> 'acc) ->
'accSource
val iter2 :
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.t ->
f:([ `Left of 'a | `Right of 'a | `Both of 'a * 'a ] -> unit) ->
unitSource
val filter :
('a, 'cmp) Base.Set.Using_comparator.t ->
f:('a -> bool) ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val partition_tf :
('a, 'cmp) Base.Set.Using_comparator.t ->
f:('a -> bool) ->
('a, 'cmp) Base.Set.Using_comparator.t
* ('a, 'cmp) Base.Set.Using_comparator.tSource
val split :
('a, 'cmp) Base.Set.Using_comparator.t ->
'a ->
('a, 'cmp) Base.Set.Using_comparator.t
* 'a option
* ('a, 'cmp) Base.Set.Using_comparator.tSource
val split_le_gt :
('a, 'cmp) Base.Set.Using_comparator.t ->
'a ->
('a, 'cmp) Base.Set.Using_comparator.t
* ('a, 'cmp) Base.Set.Using_comparator.tSource
val split_lt_ge :
('a, 'cmp) Base.Set.Using_comparator.t ->
'a ->
('a, 'cmp) Base.Set.Using_comparator.t
* ('a, 'cmp) Base.Set.Using_comparator.tSource
val group_by :
('a, 'cmp) Base.Set.Using_comparator.t ->
equiv:('a -> 'a -> bool) ->
('a, 'cmp) Base.Set.Using_comparator.t listSource
val remove_index :
('a, 'cmp) Base.Set.Using_comparator.t ->
int ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val to_tree :
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.Tree.tSource
val to_sequence :
?order:[ `Increasing | `Decreasing ] ->
?greater_or_equal_to:'a ->
?less_or_equal_to:'a ->
('a, 'cmp) Base.Set.Using_comparator.t ->
'a Base.Sequence.tSource
val binary_search :
('a, 'cmp) Base.Set.Using_comparator.t ->
compare:('a -> 'key -> int) ->
Base.Binary_searchable.Which_target_by_key.t ->
'key ->
'a optionSource
val binary_search_segmented :
('a, 'cmp) Base.Set.Using_comparator.t ->
segment_of:('a -> [ `Left | `Right ]) ->
Base.Binary_searchable.Which_target_by_segment.t ->
'a optionSource
val merge_to_sequence :
?order:[ `Increasing | `Decreasing ] ->
?greater_or_equal_to:'a ->
?less_or_equal_to:'a ->
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'a) Base.Sequence.Merge_with_duplicates_element.t Base.Sequence.tSource
val singleton :
comparator:('a, 'cmp) Base.Comparator.t ->
'a ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val union_list :
comparator:('a, 'cmp) Base.Comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.t list ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val of_list :
comparator:('a, 'cmp) Base.Comparator.t ->
'a list ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val of_sequence :
comparator:('a, 'cmp) Base.Comparator.t ->
'a Base.Sequence.t ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val of_array :
comparator:('a, 'cmp) Base.Comparator.t ->
'a array ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val of_sorted_array :
comparator:('a, 'cmp) Base.Comparator.t ->
'a array ->
('a, 'cmp) Base.Set.Using_comparator.t Base.Or_error.tSource
val of_sorted_array_unchecked :
comparator:('a, 'cmp) Base.Comparator.t ->
'a array ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val of_increasing_iterator_unchecked :
comparator:('a, 'cmp) Base.Comparator.t ->
len:int ->
f:(int -> 'a) ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val map :
comparator:('b, 'cmp) Base.Comparator.t ->
('a, _) Base.Set.Using_comparator.t ->
f:('a -> 'b) ->
('b, 'cmp) Base.Set.Using_comparator.tThe types of map and filter_map are subtle. The input set, ('a, _) set, reflects the fact that these functions take a set of *any* type, with any comparator, while the output set, ('b, 'cmp) t, reflects that the output set has the particular 'cmp of the creation function. The comparator can come in one of three ways, depending on which set module is used
Set.map-- comparator comes as an argumentSet.Poly.map-- comparator is polymorphic comparisonFoo.Set.map-- comparator isFoo.comparator
Source
val filter_map :
comparator:('b, 'cmp) Base.Comparator.t ->
('a, _) Base.Set.Using_comparator.t ->
f:('a -> 'b option) ->
('b, 'cmp) Base.Set.Using_comparator.tSource
val of_tree :
comparator:('a, 'cmp) Base.Comparator.t ->
('a, 'cmp) Base.Set.Using_comparator.Tree.t ->
('a, 'cmp) Base.Set.Using_comparator.tSource
val comparator_s :
('a, 'cmp) Base.Set.Using_comparator.t ->
('a, 'cmp) Base.Comparator.Module.tSource
val hash_fold_direct :
'elt Base.Hash.folder ->
('elt, 'cmp) Base.Set.Using_comparator.t Base.Hash.folder