Up
Module
Map
Signature
module
Key
: sig .. end
module
Tree
: sig .. end
type
'a t = (
Key.t
, 'a,
Key.comparator_witness
)
Core_kernel.Core_map.t
val
t_of_sexp : (
Sexplib.Sexp.t
-> 'a) ->
Sexplib.Sexp.t
-> 'a
t
val
sexp_of_t : ('a ->
Sexplib.Sexp.t
) -> 'a
t
->
Sexplib.Sexp.t
val
compare : ('a -> 'a -> int) -> 'a
t
-> 'a
t
-> int
val
empty : 'a
t
val
singleton :
Key.t
-> 'a -> 'a
t
val
of_alist : (
Key.t
* 'a) list -> [
| `Duplicate_key
of
Key.t
| `Ok
of
'a
t
]
val
of_alist_or_error : (
Key.t
* 'a) list -> 'a
t
Core_kernel.Or_error.t
val
of_alist_exn : (
Key.t
* 'a) list -> 'a
t
val
of_alist_multi : (
Key.t
* 'a) list -> 'a list
t
val
of_alist_fold : (
Key.t
* 'a) list -> init:'b -> f:('b -> 'a -> 'b) -> 'b
t
val
of_alist_reduce : (
Key.t
* 'a) list -> f:('a -> 'a -> 'a) -> 'a
t
val
of_sorted_array : (
Key.t
* 'a) array -> 'a
t
Core_kernel.Or_error.t
val
of_sorted_array_unchecked : (
Key.t
* 'a) array -> 'a
t
val
of_tree : 'a
Tree.t
-> 'a
t
val
gen :
Key.t
Core_kernel.Quickcheck.Generator.t
-> 'a
Core_kernel.Quickcheck.Generator.t
-> 'a
t
Core_kernel.Quickcheck.Generator.t
val
invariants : 'a
t
-> bool
val
is_empty : 'a
t
-> bool
val
length : 'a
t
-> int
val
add : 'a
t
-> key:
Key.t
-> data:'a -> 'a
t
val
add_multi : 'a list
t
-> key:
Key.t
-> data:'a -> 'a list
t
val
remove_multi : 'a list
t
->
Key.t
-> 'a list
t
val
change : 'a
t
->
Key.t
-> f:('a option -> 'a option) -> 'a
t
val
update : 'a
t
->
Key.t
-> f:('a option -> 'a) -> 'a
t
val
find : 'a
t
->
Key.t
-> 'a option
val
find_exn : 'a
t
->
Key.t
-> 'a
val
remove : 'a
t
->
Key.t
-> 'a
t
val
mem : 'a
t
->
Key.t
-> bool
val
iter : 'a
t
-> f:(key:
Key.t
-> data:'a -> unit) -> unit
val
iteri : 'a
t
-> f:(key:
Key.t
-> data:'a -> unit) -> unit
val
iter_keys : 'a
t
-> f:(
Key.t
-> unit) -> unit
val
iter2 : 'a
t
-> 'b
t
-> f:(key:
Key.t
-> data:[
| `Both
of
'a * 'b
| `Left
of
'a
| `Right
of
'b
] -> unit) -> unit
val
map : 'a
t
-> f:('a -> 'b) -> 'b
t
val
mapi : 'a
t
-> f:(key:
Key.t
-> data:'a -> 'b) -> 'b
t
val
fold : 'a
t
-> init:'b -> f:(key:
Key.t
-> data:'a -> 'b -> 'b) -> 'b
val
fold_right : 'a
t
-> init:'b -> f:(key:
Key.t
-> data:'a -> 'b -> 'b) -> 'b
val
fold2 : 'a
t
-> 'b
t
-> init:'c -> f:(key:
Key.t
-> data:[
| `Both
of
'a * 'b
| `Left
of
'a
| `Right
of
'b
] -> 'c -> 'c) -> 'c
val
filter : 'a
t
-> f:(key:
Key.t
-> data:'a -> bool) -> 'a
t
val
filteri : 'a
t
-> f:(key:
Key.t
-> data:'a -> bool) -> 'a
t
val
filter_keys : 'a
t
-> f:(
Key.t
-> bool) -> 'a
t
val
filter_map : 'a
t
-> f:('a -> 'b option) -> 'b
t
val
filter_mapi : 'a
t
-> f:(key:
Key.t
-> data:'a -> 'b option) -> 'b
t
val
partition_mapi : 'a
t
-> f:(key:
Key.t
-> data:'a -> [
| `Fst
of
'b
| `Snd
of
'c
]) -> 'b
t
* 'c
t
val
partition_map : 'a
t
-> f:('a -> [
| `Fst
of
'b
| `Snd
of
'c
]) -> 'b
t
* 'c
t
val
partitioni_tf : 'a
t
-> f:(key:
Key.t
-> data:'a -> bool) -> 'a
t
* 'a
t
val
partition_tf : 'a
t
-> f:('a -> bool) -> 'a
t
* 'a
t
val
compare_direct : ('a -> 'a -> int) -> 'a
t
-> 'a
t
-> int
val
equal : ('a -> 'a -> bool) -> 'a
t
-> 'a
t
-> bool
val
keys : 'a
t
->
Key.t
list
val
data : 'a
t
-> 'a list
val
to_alist : ?key_order:[
| `Decreasing
| `Increasing
] -> 'a
t
-> (
Key.t
* 'a) list
val
validate : name:(
Key.t
-> string) -> 'a
Core_kernel.Validate.check
-> 'a
t
Core_kernel.Validate.check
val
merge : 'a
t
-> 'b
t
-> f:(key:
Key.t
-> [
| `Both
of
'a * 'b
| `Left
of
'a
| `Right
of
'b
] -> 'c option) -> 'c
t
val
symmetric_diff : 'a
t
-> 'a
t
-> data_equal:('a -> 'a -> bool) -> (
Key.t
, 'a)
Core_kernel.Core_map_intf.Symmetric_diff_element.t
Core_kernel.Sequence.t
val
min_elt : 'a
t
-> (
Key.t
* 'a) option
val
min_elt_exn : 'a
t
->
Key.t
* 'a
val
max_elt : 'a
t
-> (
Key.t
* 'a) option
val
max_elt_exn : 'a
t
->
Key.t
* 'a
val
for_all : 'a
t
-> f:('a -> bool) -> bool
val
for_alli : 'a
t
-> f:(key:
Key.t
-> data:'a -> bool) -> bool
val
exists : 'a
t
-> f:('a -> bool) -> bool
val
existsi : 'a
t
-> f:(key:
Key.t
-> data:'a -> bool) -> bool
val
count : 'a
t
-> f:('a -> bool) -> int
val
counti : 'a
t
-> f:(key:
Key.t
-> data:'a -> bool) -> int
val
split : 'a
t
->
Key.t
-> 'a
t
* (
Key.t
* 'a) option * 'a
t
val
fold_range_inclusive : 'a
t
-> min:
Key.t
-> max:
Key.t
-> init:'b -> f:(key:
Key.t
-> data:'a -> 'b -> 'b) -> 'b
val
range_to_alist : 'a
t
-> min:
Key.t
-> max:
Key.t
-> (
Key.t
* 'a) list
val
closest_key : 'a
t
-> [
| `Greater_or_equal_to
| `Greater_than
| `Less_or_equal_to
| `Less_than
] ->
Key.t
-> (
Key.t
* 'a) option
val
nth : 'a
t
-> int -> (
Key.t
* 'a) option
val
rank : 'a
t
->
Key.t
-> int option
val
to_tree : 'a
t
-> 'a
Tree.t
val
to_sequence : ?order:[
| `Decreasing_key
| `Increasing_key
] -> ?keys_greater_or_equal_to:
Key.t
-> ?keys_less_or_equal_to:
Key.t
-> 'a
t
-> (
Key.t
* 'a)
Core_kernel.Sequence.t
val
obs :
Key.t
Core_kernel.Quickcheck.Observer.t
-> 'v
Core_kernel.Quickcheck.Observer.t
-> 'v
t
Core_kernel.Quickcheck.Observer.t
val
shrinker :
Key.t
Core_kernel.Quickcheck.Shrinker.t
-> 'v
Core_kernel.Quickcheck.Shrinker.t
-> 'v
t
Core_kernel.Quickcheck.Shrinker.t