sorted ~f a makes a copy of a and sorts it with f.
since
1.0
val sort_indices : f:('a->'a-> int)->'at->int array
sort_indices ~f a returns a new array b, with the same length as a, such that b.(i) is the index at which the i-th element of sorted f a appears in a. a is not modified.
In other words, map (fun i -> a.(i)) (sort_indices f a) = sorted f a. sort_indices yields the inverse permutation of sort_ranking.
since
1.0
val sort_ranking : f:('a->'a-> int)->'at->int array
sort_ranking ~f a returns a new array b, with the same length as a, such that b.(i) is the index at which the i-th element of a appears in sorted f a. a is not modified.
In other words, map (fun i -> (sorted f a).(i)) (sort_ranking f a) = a. sort_ranking yields the inverse permutation of sort_indices.
In the absence of duplicate elements in a, we also have lookup_exn a.(i) (sorted a) = (sorted_ranking a).(i).
lookup ~cmp ~key a lookups the index of some key key in a sorted array a. Undefined behavior if the array a is not sorted wrt cmp. Complexity: O(log (n)) (dichotomic search).
returns
None if the key key is not present, or Some i (i the index of the key) otherwise.
val bsearch : cmp:('a->'a-> int)->key:'a->'at->[ `All_lower | `All_bigger| `Just_after of int| `Empty| `At of int ]
bsearch ~cmp ~key a finds the index of the object key in the array a, provided a is sorted using cmp. If the array is not sorted, the result is not specified (may raise Invalid_argument).
Complexity: O(log n) where n is the length of the array a (dichotomic search).
returns
`At i if cmp a.(i) key = 0 (for some i).
`All_lower if all elements of a are lower than key.
`All_bigger if all elements of a are bigger than key.
for_all2 ~f [|a1; …; an|] [|b1; …; bn|] is true if each pair of elements ai bi satisfies the predicate f. That is, it returns (f a1 b1) && (f a2 b2) && … && (f an bn).
raises Invalid_argument
if arrays have distinct lengths. Allow different types.
exists2 ~f [|a1; …; an|] [|b1; …; bn|] is true if any pair of elements ai bi satisfies the predicate f. That is, it returns (f a1 b1) || (f a2 b2) || … || (f an bn).
raises Invalid_argument
if arrays have distinct lengths. Allow different types.
since
0.20
val fold2 : f:('acc->'a->'b->'acc)->init:'acc->'at->'bt->'acc
fold2 ~f ~init a b fold on two arrays a and b stepwise. It computes f (… (f init a1 b1) …) an bn.
shuffle a randomly shuffles the array a, in place.
val shuffle_with : Stdlib.Random.State.t ->'at-> unit
shuffle_with rs a randomly shuffles the array a (like shuffle) but a specialized random state rs is used to control the random numbers being produced during shuffling (for reproducibility).
to_iter a returns an iter of the elements of an array a. The input array a is shared with the sequence and modification of it will result in modification of the iterator.
to_seq a returns a Seq.t of the elements of an array a. The input array a is shared with the sequence and modification of it will result in modification of the sequence. Renamed from to_std_seq since 3.0.
pp ~pp_start ~pp_stop ~pp_sep pp_item ppf a formats the array a on ppf. Each element is formatted with pp_item, pp_start is called at the beginning, pp_stop is called at the end, pp_sep is called between each elements. By defaults pp_start and pp_stop does nothing and pp_sep defaults to (fun out -> Format.fprintf out ",@ ").
pp_i ~pp_start ~pp_stop ~pp_sep pp_item ppf a prints the array a on ppf. The printing function pp_item is giving both index and element. pp_start is called at the beginning, pp_stop is called at the end, pp_sep is called between each elements. By defaults pp_start and pp_stop does nothing and pp_sep defaults to (fun out -> Format.fprintf out ",@ ").
map2 ~f a b applies function f to all elements of a and b, and builds an array with the results returned by f: [| f a.(0) b.(0); …; f a.(length a - 1) b.(length b - 1)|].
filter_map ~f [|a1; …; an|] calls (f a1) … (f an) and returns an array b consisting of all elements bi such as f ai = Some bi. When f returns None, the corresponding element of a is discarded.
val monoid_product : f:('a->'b->'c)->'at->'bt->'ct
monoid_product ~f a b passes all combinaisons of tuples from the two arrays a and b to the function f.
sorted ~f a makes a copy of a and sorts it with f.
since
1.0
val sort_indices : f:('a->'a-> int)->'at->int array
sort_indices ~f a returns a new array b, with the same length as a, such that b.(i) is the index at which the i-th element of sorted f a appears in a. a is not modified.
In other words, map (fun i -> a.(i)) (sort_indices f a) = sorted f a. sort_indices yields the inverse permutation of sort_ranking.
since
1.0
val sort_ranking : f:('a->'a-> int)->'at->int array
sort_ranking ~f a returns a new array b, with the same length as a, such that b.(i) is the index at which the i-th element of a appears in sorted f a. a is not modified.
In other words, map (fun i -> (sorted f a).(i)) (sort_ranking f a) = a. sort_ranking yields the inverse permutation of sort_indices.
In the absence of duplicate elements in a, we also have lookup_exn a.(i) (sorted a) = (sorted_ranking a).(i).
lookup ~cmp ~key a lookups the index of some key key in a sorted array a. Undefined behavior if the array a is not sorted wrt cmp. Complexity: O(log (n)) (dichotomic search).
returns
None if the key key is not present, or Some i (i the index of the key) otherwise.
val bsearch : cmp:('a->'a-> int)->key:'a->'at->[ `All_lower | `All_bigger| `Just_after of int| `Empty| `At of int ]
bsearch ~cmp ~key a finds the index of the object key in the array a, provided a is sorted using cmp. If the array is not sorted, the result is not specified (may raise Invalid_argument).
Complexity: O(log n) where n is the length of the array a (dichotomic search).
returns
`At i if cmp a.(i) key = 0 (for some i).
`All_lower if all elements of a are lower than key.
`All_bigger if all elements of a are bigger than key.
for_all2 ~f [|a1; …; an|] [|b1; …; bn|] is true if each pair of elements ai bi satisfies the predicate f. That is, it returns (f a1 b1) && (f a2 b2) && … && (f an bn).
raises Invalid_argument
if arrays have distinct lengths. Allow different types.
exists2 ~f [|a1; …; an|] [|b1; …; bn|] is true if any pair of elements ai bi satisfies the predicate f. That is, it returns (f a1 b1) || (f a2 b2) || … || (f an bn).
raises Invalid_argument
if arrays have distinct lengths. Allow different types.
since
0.20
val fold2 : f:('acc->'a->'b->'acc)->init:'acc->'at->'bt->'acc
fold2 ~f ~init a b fold on two arrays a and b stepwise. It computes f (… (f init a1 b1) …) an bn.
shuffle a randomly shuffles the array a, in place.
val shuffle_with : Stdlib.Random.State.t ->'at-> unit
shuffle_with rs a randomly shuffles the array a (like shuffle) but a specialized random state rs is used to control the random numbers being produced during shuffling (for reproducibility).
to_iter a returns an iter of the elements of an array a. The input array a is shared with the sequence and modification of it will result in modification of the iterator.
to_seq a returns a Seq.t of the elements of an array a. The input array a is shared with the sequence and modification of it will result in modification of the sequence. Renamed from to_std_seq since 3.0.
pp ~pp_start ~pp_stop ~pp_sep pp_item ppf a formats the array a on ppf. Each element is formatted with pp_item, pp_start is called at the beginning, pp_stop is called at the end, pp_sep is called between each elements. By defaults pp_start and pp_stop does nothing and pp_sep defaults to (fun out -> Format.fprintf out ",@ ").
pp_i ~pp_start ~pp_stop ~pp_sep pp_item ppf a prints the array a on ppf. The printing function pp_item is giving both index and element. pp_start is called at the beginning, pp_stop is called at the end, pp_sep is called between each elements. By defaults pp_start and pp_stop does nothing and pp_sep defaults to (fun out -> Format.fprintf out ",@ ").
map2 ~f a b applies function f to all elements of a and b, and builds an array with the results returned by f: [| f a.(0) b.(0); …; f a.(length a - 1) b.(length b - 1)|].
filter_map ~f [|a1; …; an|] calls (f a1) … (f an) and returns an array b consisting of all elements bi such as f ai = Some bi. When f returns None, the corresponding element of a is discarded.
val monoid_product : f:('a->'b->'c)->'at->'bt->'ct
monoid_product ~f a b passes all combinaisons of tuples from the two arrays a and b to the function f.
\ No newline at end of file
diff --git a/dev/containers/CCEither/index.html b/dev/containers/CCEither/index.html
index 83a37381..c5ac34f3 100644
--- a/dev/containers/CCEither/index.html
+++ b/dev/containers/CCEither/index.html
@@ -1,2 +1,2 @@
-CCEither (containers.CCEither)
Module CCEither
Either Monad
Module that is compatible with Either form OCaml 4.12 but can be use with any ocaml version compatible with container
since
3.2
type'a iter = ('a-> unit)-> unit
type'a equal = 'a->'a-> bool
type'a ord = 'a->'a-> int
type'a printer = Stdlib.Format.formatter ->'a-> unit
\ No newline at end of file
diff --git a/dev/containers/CCFormat/index.html b/dev/containers/CCFormat/index.html
index f23d5513..f7ad7fc0 100644
--- a/dev/containers/CCFormat/index.html
+++ b/dev/containers/CCFormat/index.html
@@ -1,5 +1,5 @@
-CCFormat (containers.CCFormat)
val ksprintf : (string ->'a)->('b, unit, string, 'a) Stdlib.format4->'b
val kasprintf : (string ->'a)->('b, formatter, unit, 'a) Stdlib.format4->'b
val bprintf : Stdlib.Buffer.t ->('a, formatter, unit) Stdlib.format->'a
val kprintf : (string ->'a)->('b, unit, string, 'a) Stdlib.format4->'b
val set_all_formatter_output_functions : out:(string -> int -> int -> unit)->flush:(unit -> unit)->newline:(unit -> unit)->spaces:(int -> unit)-> unit
val get_all_formatter_output_functions : unit ->(string -> int -> int -> unit) * (unit -> unit) * (unit -> unit) * (int -> unit)
val pp_set_all_formatter_output_functions : formatter->out:(string -> int -> int -> unit)->flush:(unit -> unit)->newline:(unit -> unit)->spaces:(int -> unit)-> unit
val pp_get_all_formatter_output_functions : formatter-> unit ->(string -> int -> int -> unit) * (unit -> unit) * (unit -> unit) * (int -> unit)
string_lines out s prints s with all newlines ('\n') replaced by a cut, in a vertical box. It does NOT insert breakable spaces in place of spaces, unlike text. This means an already formatted string can be displayed inside another formatter without mangling the indentation.
val ksprintf : (string ->'a)->('b, unit, string, 'a) Stdlib.format4->'b
val kasprintf : (string ->'a)->('b, formatter, unit, 'a) Stdlib.format4->'b
val bprintf : Stdlib.Buffer.t ->('a, formatter, unit) Stdlib.format->'a
val kprintf : (string ->'a)->('b, unit, string, 'a) Stdlib.format4->'b
val set_all_formatter_output_functions : out:(string -> int -> int -> unit)->flush:(unit -> unit)->newline:(unit -> unit)->spaces:(int -> unit)-> unit
val get_all_formatter_output_functions : unit ->(string -> int -> int -> unit) * (unit -> unit) * (unit -> unit) * (int -> unit)
val pp_set_all_formatter_output_functions : formatter->out:(string -> int -> int -> unit)->flush:(unit -> unit)->newline:(unit -> unit)->spaces:(int -> unit)-> unit
val pp_get_all_formatter_output_functions : formatter-> unit ->(string -> int -> int -> unit) * (unit -> unit) * (unit -> unit) * (int -> unit)
string_lines out s prints s with all newlines ('\n') replaced by a cut, in a vertical box. It does NOT insert breakable spaces in place of spaces, unlike text. This means an already formatted string can be displayed inside another formatter without mangling the indentation.
Add functions to support color tags to the given formatter.
since
0.15
val set_color_default : bool -> unit
set_color_default b enables color handling on the standard formatters (stdout, stderr) if b = true as well as on sprintf formatters; it disables the color handling if b = false.
val with_out_chan : Stdlib.out_channel ->(t->'a)->'a
with_out_chan oc f turns oc into a formatter fmt, and call f fmt. Behaves like f fmt from then on, but whether the call to f fails or returns, fmt is flushed before the call terminates.
incr ?by tbl x increments or initializes the counter associated with x. If get tbl x = None, then after update, get tbl x = Some 1; otherwise, if get tbl x = Some n, now get tbl x = Some (n+1).
parameter by
if specified, the int value is incremented by by rather than 1.
decr ?by tbl x is like incr but subtract 1 (or the value of by). If the value reaches 0, the key is removed from the table. This does nothing if the key is not already present in the table.
Add the corresponding pairs to the table, using Hashtbl.add.
since
2.8
val add_iter_with : f:(key->'a->'a->'a)->'at->(key * 'a)iter-> unit
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
Add the corresponding pairs to the table, using Hashtbl.add. Renamed from add_std_seq since 3.0.
since
3.0
val add_seq_with : f:(key->'a->'a->'a)->'at->(key * 'a) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
add_iter_count tbl i increments the count of each element of i by calling incr. This is useful for counting how many times each element of i occurs.
since
2.8
val add_seq_count : int t->key Stdlib.Seq.t-> unit
add_seq_count tbl seq increments the count of each element of seq by calling incr. This is useful for counting how many times each element of seq occurs. Renamed from of_std_seq_count since 3.0.
of_list l builds a table from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, it will be added several times, and the visible binding will be the last one.
val of_list_with : f:(key->'a->'a->'a)->(key * 'a) list->'at
of_list l builds a table from the given list l of bindings k_i -> v_i. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val update : 'at->f:(key->'a option->'a option)->k:key-> unit
update tbl ~f ~k updates key k by calling f k (Some v) if k was mapped to v, or f k None otherwise; if the call returns None then k is removed/stays removed, if the call returns Some v' then the binding k -> v' is inserted using Hashtbl.replace.
get_or_add tbl ~k ~f finds and returns the binding of k in tbl, if it exists. If it does not exist, then f k is called to obtain a new binding v; k -> v is added to tbl and v is returned.
pp ~pp_start ~pp_stop ~pp_sep ~pp arrow pp_k pp_v returns a table printer given a pp_k printer for individual key and a pp_v printer for individual value. pp_start and pp_stop control the opening and closing delimiters, by default print nothing. pp_sep control the separator between binding. pp_arrow control the arrow between the key and value. Renamed from print since 2.0.
since
0.13
\ No newline at end of file
+S (containers.CCHashtbl.S)
incr ?by tbl x increments or initializes the counter associated with x. If get tbl x = None, then after update, get tbl x = Some 1; otherwise, if get tbl x = Some n, now get tbl x = Some (n+1).
parameter by
if specified, the int value is incremented by by rather than 1.
decr ?by tbl x is like incr but subtract 1 (or the value of by). If the value reaches 0, the key is removed from the table. This does nothing if the key is not already present in the table.
Add the corresponding pairs to the table, using Hashtbl.add.
since
2.8
val add_iter_with : f:(key->'a->'a->'a)->'at->(key * 'a)iter-> unit
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
Add the corresponding pairs to the table, using Hashtbl.add. Renamed from add_std_seq since 3.0.
since
3.0
val add_seq_with : f:(key->'a->'a->'a)->'at->(key * 'a) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
add_iter_count tbl i increments the count of each element of i by calling incr. This is useful for counting how many times each element of i occurs.
since
2.8
val add_seq_count : int t->key Stdlib.Seq.t-> unit
add_seq_count tbl seq increments the count of each element of seq by calling incr. This is useful for counting how many times each element of seq occurs. Renamed from of_std_seq_count since 3.0.
of_list l builds a table from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, it will be added several times, and the visible binding will be the last one.
val of_list_with : f:(key->'a->'a->'a)->(key * 'a) list->'at
of_list l builds a table from the given list l of bindings k_i -> v_i. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val update : 'at->f:(key->'a option->'a option)->k:key-> unit
update tbl ~f ~k updates key k by calling f k (Some v) if k was mapped to v, or f k None otherwise; if the call returns None then k is removed/stays removed, if the call returns Some v' then the binding k -> v' is inserted using Hashtbl.replace.
get_or_add tbl ~k ~f finds and returns the binding of k in tbl, if it exists. If it does not exist, then f k is called to obtain a new binding v; k -> v is added to tbl and v is returned.
pp ~pp_start ~pp_stop ~pp_sep ~pp arrow pp_k pp_v returns a table printer given a pp_k printer for individual key and a pp_v printer for individual value. pp_start and pp_stop control the opening and closing delimiters, by default print nothing. pp_sep control the separator between binding. pp_arrow control the arrow between the key and value. Renamed from print since 2.0.
since
0.13
\ No newline at end of file
diff --git a/dev/containers/CCList/index.html b/dev/containers/CCList/index.html
index 2a427917..6d512ca8 100644
--- a/dev/containers/CCList/index.html
+++ b/dev/containers/CCList/index.html
@@ -1,5 +1,5 @@
-CCList (containers.CCList)
Module CCList
Complements to list
type'a iter = ('a-> unit)-> unit
Fast internal iterator.
since
2.8
type'a gen = unit ->'a option
type'a printer = Stdlib.Format.formatter ->'a-> unit
filter p l returns all the elements of the list l that satisfy the predicate p. The order of the elements in the input list l is preserved. Safe version of List.filter.
val fold_map2 : ('acc->'a->'b->'acc * 'c)->'acc->'a list->'b list->'acc * 'c list
fold_map2 f init l1 l2 is to fold_map what List.map2 is to List.map.
raises Invalid_argument
if the lists do not have the same length.
since
0.16
val fold_filter_map : ('acc->'a->'acc * 'b option)->'acc->'a list->'acc * 'b list
fold_filter_map f init l is a fold_left-like function, but also generates a list of output in a way similar to filter_map.
since
0.17
val fold_filter_map_i : ('acc-> int ->'a->'acc * 'b option)->'acc->'a list->'acc * 'b list
fold_filter_map_i f init l is a foldi-like function, but also generates a list of output in a way similar to filter_map.
since
2.8
val fold_flat_map : ('acc->'a->'acc * 'b list)->'acc->'a list->'acc * 'b list
fold_flat_map f init l is a fold_left-like function, but it also maps the list to a list of lists that is then flatten'd.
since
0.14
val fold_flat_map_i : ('acc-> int ->'a->'acc * 'b list)->'acc->'a list->'acc * 'b list
fold_flat_map_i f init l is a fold_left-like function, but it also maps the list to a list of lists that is then flatten'd.
since
2.8
val count : ('a-> bool)->'a list-> int
count p l counts how many elements of l satisfy predicate p.
since
1.5, but only
since
2.2 with labels
val count_true_false : ('a-> bool)->'a list-> int * int
count_true_false p l returns a pair (int1,int2) where int1 is the number of elements in l that satisfy the predicate p, and int2 the number of elements that do not satisfy p.
combine_gen l1 l2 transforms two lists into a gen of pairs. Lazy version of combine. Unlike combine, it does not fail if the lists have different lengths; instead, the output has as many pairs as the smallest input list.
since
1.2, but only
since
2.2 with labels
val combine_shortest : 'a list->'b list->('a * 'b) list
combine_shortest [a1; …; am] [b1; …; bn] is [(a1,b1); …; (am,bm)] if m <= n. Like combine but stops at the shortest list rather than raising.
cartesian_product [[l1]; [l2]; …; [ln]] produces the cartesian product of this list of lists, by returning all the ways of picking one element per sublist. NOTE the order of the returned list is unspecified. For example:
filter p l returns all the elements of the list l that satisfy the predicate p. The order of the elements in the input list l is preserved. Safe version of List.filter.
val fold_map2 : ('acc->'a->'b->'acc * 'c)->'acc->'a list->'b list->'acc * 'c list
fold_map2 f init l1 l2 is to fold_map what List.map2 is to List.map.
raises Invalid_argument
if the lists do not have the same length.
since
0.16
val fold_filter_map : ('acc->'a->'acc * 'b option)->'acc->'a list->'acc * 'b list
fold_filter_map f init l is a fold_left-like function, but also generates a list of output in a way similar to filter_map.
since
0.17
val fold_filter_map_i : ('acc-> int ->'a->'acc * 'b option)->'acc->'a list->'acc * 'b list
fold_filter_map_i f init l is a foldi-like function, but also generates a list of output in a way similar to filter_map.
since
2.8
val fold_flat_map : ('acc->'a->'acc * 'b list)->'acc->'a list->'acc * 'b list
fold_flat_map f init l is a fold_left-like function, but it also maps the list to a list of lists that is then flatten'd.
since
0.14
val fold_flat_map_i : ('acc-> int ->'a->'acc * 'b list)->'acc->'a list->'acc * 'b list
fold_flat_map_i f init l is a fold_left-like function, but it also maps the list to a list of lists that is then flatten'd.
since
2.8
val count : ('a-> bool)->'a list-> int
count p l counts how many elements of l satisfy predicate p.
since
1.5, but only
since
2.2 with labels
val count_true_false : ('a-> bool)->'a list-> int * int
count_true_false p l returns a pair (int1,int2) where int1 is the number of elements in l that satisfy the predicate p, and int2 the number of elements that do not satisfy p.
combine_gen l1 l2 transforms two lists into a gen of pairs. Lazy version of combine. Unlike combine, it does not fail if the lists have different lengths; instead, the output has as many pairs as the smallest input list.
since
1.2, but only
since
2.2 with labels
val combine_shortest : 'a list->'b list->('a * 'b) list
combine_shortest [a1; …; am] [b1; …; bn] is [(a1,b1); …; (am,bm)] if m <= n. Like combine but stops at the shortest list rather than raising.
cartesian_product [[l1]; [l2]; …; [ln]] produces the cartesian product of this list of lists, by returning all the ways of picking one element per sublist. NOTE the order of the returned list is unspecified. For example:
filter ~f l returns all the elements of the list l that satisfy the predicate f. The order of the elements in the input list l is preserved. Safe version of List.filter.
val fold_map2 : f:('acc->'a->'b->'acc * 'c)->init:'acc->'a list->'b list->'acc * 'c list
fold_map2 ~f ~init l1 l2 is to fold_map what List.map2 is to List.map.
raises Invalid_argument
if the lists do not have the same length.
since
0.16
val fold_filter_map : f:('acc->'a->'acc * 'b option)->init:'acc->'a list->'acc * 'b list
fold_filter_map ~f ~init l is a fold_left-like function, but also generates a list of output in a way similar to filter_map.
since
0.17
val fold_filter_map_i : f:('acc-> int ->'a->'acc * 'b option)->init:'acc->'a list->'acc * 'b list
fold_filter_map_i ~f ~init l is a foldi-like function, but also generates a list of output in a way similar to filter_map.
since
2.8
val fold_flat_map : f:('acc->'a->'acc * 'b list)->init:'acc->'a list->'acc * 'b list
fold_flat_map ~f ~init l is a fold_left-like function, but it also maps the list to a list of lists that is then flatten'd.
since
0.14
val fold_flat_map_i : f:('acc-> int ->'a->'acc * 'b list)->init:'acc->'a list->'acc * 'b list
fold_flat_map_i ~f ~init l is a fold_left-like function, but it also maps the list to a list of lists that is then flatten'd.
since
2.8
val count : f:('a-> bool)->'a list-> int
count ~f l counts how many elements of l satisfy predicate f.
since
1.5, but only
since
2.2 with labels
val count_true_false : f:('a-> bool)->'a list-> int * int
count_true_false ~f l returns a pair (int1,int2) where int1 is the number of elements in l that satisfy the predicate f, and int2 the number of elements that do not satisfy f.
combine_gen l1 l2 transforms two lists into a gen of pairs. Lazy version of combine. Unlike combine, it does not fail if the lists have different lengths; instead, the output has as many pairs as the smallest input list.
since
1.2, but only
since
2.2 with labels
val combine_shortest : 'a list->'b list->('a * 'b) list
combine_shortest [a1; …; am] [b1; …; bn] is [(a1,b1); …; (am,bm)] if m <= n. Like combine but stops at the shortest list rather than raising.
cartesian_product [[l1];[l2]; …; [ln]] produces the cartesian product of this list of lists, by returning all the ways of picking one element per sublist. NOTE the order of the returned list is unspecified. For example:
filter ~f l returns all the elements of the list l that satisfy the predicate f. The order of the elements in the input list l is preserved. Safe version of List.filter.
val fold_map2 : f:('acc->'a->'b->'acc * 'c)->init:'acc->'a list->'b list->'acc * 'c list
fold_map2 ~f ~init l1 l2 is to fold_map what List.map2 is to List.map.
raises Invalid_argument
if the lists do not have the same length.
since
0.16
val fold_filter_map : f:('acc->'a->'acc * 'b option)->init:'acc->'a list->'acc * 'b list
fold_filter_map ~f ~init l is a fold_left-like function, but also generates a list of output in a way similar to filter_map.
since
0.17
val fold_filter_map_i : f:('acc-> int ->'a->'acc * 'b option)->init:'acc->'a list->'acc * 'b list
fold_filter_map_i ~f ~init l is a foldi-like function, but also generates a list of output in a way similar to filter_map.
since
2.8
val fold_flat_map : f:('acc->'a->'acc * 'b list)->init:'acc->'a list->'acc * 'b list
fold_flat_map ~f ~init l is a fold_left-like function, but it also maps the list to a list of lists that is then flatten'd.
since
0.14
val fold_flat_map_i : f:('acc-> int ->'a->'acc * 'b list)->init:'acc->'a list->'acc * 'b list
fold_flat_map_i ~f ~init l is a fold_left-like function, but it also maps the list to a list of lists that is then flatten'd.
since
2.8
val count : f:('a-> bool)->'a list-> int
count ~f l counts how many elements of l satisfy predicate f.
since
1.5, but only
since
2.2 with labels
val count_true_false : f:('a-> bool)->'a list-> int * int
count_true_false ~f l returns a pair (int1,int2) where int1 is the number of elements in l that satisfy the predicate f, and int2 the number of elements that do not satisfy f.
combine_gen l1 l2 transforms two lists into a gen of pairs. Lazy version of combine. Unlike combine, it does not fail if the lists have different lengths; instead, the output has as many pairs as the smallest input list.
since
1.2, but only
since
2.2 with labels
val combine_shortest : 'a list->'b list->('a * 'b) list
combine_shortest [a1; …; am] [b1; …; bn] is [(a1,b1); …; (am,bm)] if m <= n. Like combine but stops at the shortest list rather than raising.
cartesian_product [[l1];[l2]; …; [ln]] produces the cartesian product of this list of lists, by returning all the ways of picking one element per sublist. NOTE the order of the returned list is unspecified. For example:
get_or k m ~default returns the value associated to k if present, and returns default otherwise (if k doesn't belong in m).
since
0.16
val update : key->('a option->'a option)->'at->'at
update k f m calls f (Some v) if find k m = v, otherwise it calls f None. In any case, if the result is Nonek is removed from m, and if the result is Some v' then add k v' m is returned.
find_first f m where f is a monotonically increasing function, returns the binding of m with the lowest key k such that f k, or raises Not_found if no such key exists. See Map.S.find_first.
since
1.5
val find_first_opt : (key-> bool)->'at->(key * 'a) option
find_first_opt f m where f is a monotonically increasing function, returns an option containing the binding of m with the lowest key k such that f k, or None if no such key exists. Safe version of find_first.
since
1.5
val merge_safe : f:(key->[ `Left of 'a| `Right of 'b| `Both of 'a * 'b ]->'c option)->'at->'bt->'ct
merge_safe ~f a b merges the maps a and b together.
add_seq m seq adds the given Seq.t of bindings to the map m. Like add_list. Renamed from add_std_seq since 3.0.
since
3.0
val add_seq_with : f:(key->'a->'a->'a)->'at->(key * 'a) Stdlib.Seq.t->'at
add_seq ~f m l adds the given seq l of bindings to the map m, using f to combine values that have the same key. If a key occurs several times, all its bindings are combined using the function f, with f key v1 v2 being called with v1 occurring later in the seq than v2.
of_seq seq builds a map from the given Seq.t of bindings. Like of_list. Renamed from of_std_seq since 3.0.
since
3.0
val of_seq_with : f:(key->'a->'a->'a)->(key * 'a) Stdlib.Seq.t->'at
of_seq_with ~f l builds a map from the given seq l of bindings k_i -> v_i, added in order using add. If a key occurs several times, all its bindings are combined using the function f, with f key v1 v2 being called with v1 occurring later in the seq than v2.
add_iter m iter adds the given iter of bindings to the map m. Like add_list.
since
2.8
val add_iter_with : f:(key->'a->'a->'a)->'at->(key * 'a)iter->'at
add_iter ~f m l adds the given iter l of bindings to the map m, using f to combine values that have the same key. If a key occurs several times, all its bindings are combined using the function f, with f key v1 v2 being called with v1 occurring later in the seq than v2.
of_iter iter builds a map from the given iter of bindings. Like of_list.
since
2.8
val of_iter_with : f:(key->'a->'a->'a)->(key * 'a)iter->'at
of_iter_with ~f l builds a map from the given iter l of bindings k_i -> v_i, added in order using add. If a key occurs several times, all its bindings are combined using the function f, with f key v1 v2 being called with v1 occurring later in the iter than v2.
of_list l builds a map from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, only its last binding will be present in the result.
val of_list_with : f:(key->'a->'a->'a)->(key * 'a) list->'at
of_list_with ~f l builds a map from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, all its bindings are combined using the function f, with f key v1 v2 being called with v1 occurring later in the list than v2.
add_list m l adds the given list l of bindings to the map m.
since
0.14
val add_list_with : f:(key->'a->'a->'a)->'at->(key * 'a) list->'at
add_list ~f m l adds the given list l of bindings to the map m, using f to combine values that have the same key. If a key occurs several times, all its bindings are combined using the function f, with f key v1 v2 being called with v1 occurring later in the seq than v2.
get_or k m ~default returns the value associated to k if present, and returns default otherwise (if k doesn't belong in m).
since
0.16
val update : key->('a option->'a option)->'at->'at
update k f m calls f (Some v) if find k m = v, otherwise it calls f None. In any case, if the result is Nonek is removed from m, and if the result is Some v' then add k v' m is returned.
find_first f m where f is a monotonically increasing function, returns the binding of m with the lowest key k such that f k, or raises Not_found if no such key exists. See Map.S.find_first.
since
1.5
val find_first_opt : (key-> bool)->'at->(key * 'a) option
find_first_opt f m where f is a monotonically increasing function, returns an option containing the binding of m with the lowest key k such that f k, or None if no such key exists. Safe version of find_first.
since
1.5
val merge_safe : f:(key->[ `Left of 'a| `Right of 'b| `Both of 'a * 'b ]->'c option)->'at->'bt->'ct
merge_safe ~f a b merges the maps a and b together.
add_seq m seq adds the given Seq.t of bindings to the map m. Like add_list. Renamed from add_std_seq since 3.0.
since
3.0
val add_seq_with : f:(key->'a->'a->'a)->'at->(key * 'a) Stdlib.Seq.t->'at
add_seq ~f m l adds the given seq l of bindings to the map m, using f to combine values that have the same key. If a key occurs several times, all its bindings are combined using the function f, with f key v1 v2 being called with v1 occurring later in the seq than v2.
of_seq seq builds a map from the given Seq.t of bindings. Like of_list. Renamed from of_std_seq since 3.0.
since
3.0
val of_seq_with : f:(key->'a->'a->'a)->(key * 'a) Stdlib.Seq.t->'at
of_seq_with ~f l builds a map from the given seq l of bindings k_i -> v_i, added in order using add. If a key occurs several times, all its bindings are combined using the function f, with f key v1 v2 being called with v1 occurring later in the seq than v2.
add_iter m iter adds the given iter of bindings to the map m. Like add_list.
since
2.8
val add_iter_with : f:(key->'a->'a->'a)->'at->(key * 'a)iter->'at
add_iter ~f m l adds the given iter l of bindings to the map m, using f to combine values that have the same key. If a key occurs several times, all its bindings are combined using the function f, with f key v1 v2 being called with v1 occurring later in the seq than v2.
of_iter iter builds a map from the given iter of bindings. Like of_list.
since
2.8
val of_iter_with : f:(key->'a->'a->'a)->(key * 'a)iter->'at
of_iter_with ~f l builds a map from the given iter l of bindings k_i -> v_i, added in order using add. If a key occurs several times, all its bindings are combined using the function f, with f key v1 v2 being called with v1 occurring later in the iter than v2.
of_list l builds a map from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, only its last binding will be present in the result.
val of_list_with : f:(key->'a->'a->'a)->(key * 'a) list->'at
of_list_with ~f l builds a map from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, all its bindings are combined using the function f, with f key v1 v2 being called with v1 occurring later in the list than v2.
add_list m l adds the given list l of bindings to the map m.
since
0.14
val add_list_with : f:(key->'a->'a->'a)->'at->(key * 'a) list->'at
add_list ~f m l adds the given list l of bindings to the map m, using f to combine values that have the same key. If a key occurs several times, all its bindings are combined using the function f, with f key v1 v2 being called with v1 occurring later in the seq than v2.
pp ?pp_start ?pp_stop ?pp_arrow ?pp_sep pp_key pp_v m pretty-prints the contents of the map.
\ No newline at end of file
diff --git a/dev/containers/CCSet/module-type-S/index.html b/dev/containers/CCSet/module-type-S/index.html
index c8aa9a5f..6da35737 100644
--- a/dev/containers/CCSet/module-type-S/index.html
+++ b/dev/containers/CCSet/module-type-S/index.html
@@ -1,2 +1,2 @@
-S (containers.CCSet.S)
\ No newline at end of file
diff --git a/dev/containers/CCShimsArrayLabels_/index.html b/dev/containers/CCShimsArrayLabels_/index.html
index 00e34c44..dd75fe7a 100644
--- a/dev/containers/CCShimsArrayLabels_/index.html
+++ b/dev/containers/CCShimsArrayLabels_/index.html
@@ -1,2 +1,2 @@
-CCShimsArrayLabels_ (containers.CCShimsArrayLabels_)
\ No newline at end of file
diff --git a/dev/containers/CCShimsEither_/index.html b/dev/containers/CCShimsEither_/index.html
index f8d551f0..619873ed 100644
--- a/dev/containers/CCShimsEither_/index.html
+++ b/dev/containers/CCShimsEither_/index.html
@@ -1,2 +1,2 @@
-CCShimsEither_ (containers.CCShimsEither_)
Module CCShimsEither_
type('a, 'b) t =
| Leftof'a
| Rightof'b
\ No newline at end of file
+CCShimsEither_ (containers.CCShimsEither_)
Module CCShimsEither_
type('a, 'b) t = ('a, 'b) Stdlib.Either.t =
| Leftof'a
| Rightof'b
\ No newline at end of file
diff --git a/dev/containers/CCShimsList_/index.html b/dev/containers/CCShimsList_/index.html
index b0ddb96f..20b20278 100644
--- a/dev/containers/CCShimsList_/index.html
+++ b/dev/containers/CCShimsList_/index.html
@@ -1,2 +1,2 @@
-CCShimsList_ (containers.CCShimsList_)
Module CCShimsList_
include Stdlib.List
type!'a t = 'a list =
| ([])
| (::)of'a * 'a list
val length : 'a list-> int
val compare_lengths : 'a list->'b list-> int
val compare_length_with : 'a list-> int -> int
val cons : 'a->'a list->'a list
val hd : 'a list->'a
val tl : 'a list->'a list
val nth : 'a list-> int ->'a
val nth_opt : 'a list-> int ->'a option
val rev : 'a list->'a list
val init : int ->(int ->'a)->'a list
val append : 'a list->'a list->'a list
val rev_append : 'a list->'a list->'a list
val concat : 'a list list->'a list
val flatten : 'a list list->'a list
val iter : ('a-> unit)->'a list-> unit
val iteri : (int ->'a-> unit)->'a list-> unit
val map : ('a->'b)->'a list->'b list
val mapi : (int ->'a->'b)->'a list->'b list
val rev_map : ('a->'b)->'a list->'b list
val filter_map : ('a->'b option)->'a list->'b list
val concat_map : ('a->'b list)->'a list->'b list
val fold_left_map : ('a->'b->'a * 'c)->'a->'b list->'a * 'c list
val fold_left : ('a->'b->'a)->'a->'b list->'a
val fold_right : ('a->'b->'b)->'a list->'b->'b
val iter2 : ('a->'b-> unit)->'a list->'b list-> unit
val map2 : ('a->'b->'c)->'a list->'b list->'c list
val rev_map2 : ('a->'b->'c)->'a list->'b list->'c list
val fold_left2 : ('a->'b->'c->'a)->'a->'b list->'c list->'a
val fold_right2 : ('a->'b->'c->'c)->'a list->'b list->'c->'c
val for_all : ('a-> bool)->'a list-> bool
val exists : ('a-> bool)->'a list-> bool
val for_all2 : ('a->'b-> bool)->'a list->'b list-> bool
val exists2 : ('a->'b-> bool)->'a list->'b list-> bool
val mem : 'a->'a list-> bool
val memq : 'a->'a list-> bool
val find : ('a-> bool)->'a list->'a
val find_opt : ('a-> bool)->'a list->'a option
val find_map : ('a->'b option)->'a list->'b option
val filter : ('a-> bool)->'a list->'a list
val find_all : ('a-> bool)->'a list->'a list
val filteri : (int ->'a-> bool)->'a list->'a list
val partition : ('a-> bool)->'a list->'a list * 'a list
val assoc : 'a->('a * 'b) list->'b
val assoc_opt : 'a->('a * 'b) list->'b option
val assq : 'a->('a * 'b) list->'b
val assq_opt : 'a->('a * 'b) list->'b option
val mem_assoc : 'a->('a * 'b) list-> bool
val mem_assq : 'a->('a * 'b) list-> bool
val remove_assoc : 'a->('a * 'b) list->('a * 'b) list
val remove_assq : 'a->('a * 'b) list->('a * 'b) list
val split : ('a * 'b) list->'a list * 'b list
val combine : 'a list->'b list->('a * 'b) list
val sort : ('a->'a-> int)->'a list->'a list
val stable_sort : ('a->'a-> int)->'a list->'a list
val fast_sort : ('a->'a-> int)->'a list->'a list
val sort_uniq : ('a->'a-> int)->'a list->'a list
val merge : ('a->'a-> int)->'a list->'a list->'a list
val to_seq : 'a list->'a Stdlib.Seq.t
val of_seq : 'a Stdlib.Seq.t->'a list
\ No newline at end of file
+CCShimsList_ (containers.CCShimsList_)
Module CCShimsList_
include Stdlib.List
type!'a t = 'a list =
| ([])
| (::)of'a * 'a list
val length : 'a list-> int
val compare_lengths : 'a list->'b list-> int
val compare_length_with : 'a list-> int -> int
val cons : 'a->'a list->'a list
val hd : 'a list->'a
val tl : 'a list->'a list
val nth : 'a list-> int ->'a
val nth_opt : 'a list-> int ->'a option
val rev : 'a list->'a list
val init : int ->(int ->'a)->'a list
val append : 'a list->'a list->'a list
val rev_append : 'a list->'a list->'a list
val concat : 'a list list->'a list
val flatten : 'a list list->'a list
val equal : ('a->'a-> bool)->'a list->'a list-> bool
val compare : ('a->'a-> int)->'a list->'a list-> int
val iter : ('a-> unit)->'a list-> unit
val iteri : (int ->'a-> unit)->'a list-> unit
val map : ('a->'b)->'a list->'b list
val mapi : (int ->'a->'b)->'a list->'b list
val rev_map : ('a->'b)->'a list->'b list
val filter_map : ('a->'b option)->'a list->'b list
val concat_map : ('a->'b list)->'a list->'b list
val fold_left_map : ('a->'b->'a * 'c)->'a->'b list->'a * 'c list
val fold_left : ('a->'b->'a)->'a->'b list->'a
val fold_right : ('a->'b->'b)->'a list->'b->'b
val iter2 : ('a->'b-> unit)->'a list->'b list-> unit
val map2 : ('a->'b->'c)->'a list->'b list->'c list
val rev_map2 : ('a->'b->'c)->'a list->'b list->'c list
val fold_left2 : ('a->'b->'c->'a)->'a->'b list->'c list->'a
val fold_right2 : ('a->'b->'c->'c)->'a list->'b list->'c->'c
val for_all : ('a-> bool)->'a list-> bool
val exists : ('a-> bool)->'a list-> bool
val for_all2 : ('a->'b-> bool)->'a list->'b list-> bool
val exists2 : ('a->'b-> bool)->'a list->'b list-> bool
val mem : 'a->'a list-> bool
val memq : 'a->'a list-> bool
val find : ('a-> bool)->'a list->'a
val find_opt : ('a-> bool)->'a list->'a option
val find_map : ('a->'b option)->'a list->'b option
val filter : ('a-> bool)->'a list->'a list
val find_all : ('a-> bool)->'a list->'a list
val filteri : (int ->'a-> bool)->'a list->'a list
val partition : ('a-> bool)->'a list->'a list * 'a list
val partition_map : ('a->('b, 'c) Stdlib.Either.t)->'a list->'b list * 'c list
val assoc : 'a->('a * 'b) list->'b
val assoc_opt : 'a->('a * 'b) list->'b option
val assq : 'a->('a * 'b) list->'b
val assq_opt : 'a->('a * 'b) list->'b option
val mem_assoc : 'a->('a * 'b) list-> bool
val mem_assq : 'a->('a * 'b) list-> bool
val remove_assoc : 'a->('a * 'b) list->('a * 'b) list
val remove_assq : 'a->('a * 'b) list->('a * 'b) list
val split : ('a * 'b) list->'a list * 'b list
val combine : 'a list->'b list->('a * 'b) list
val sort : ('a->'a-> int)->'a list->'a list
val stable_sort : ('a->'a-> int)->'a list->'a list
val fast_sort : ('a->'a-> int)->'a list->'a list
val sort_uniq : ('a->'a-> int)->'a list->'a list
val merge : ('a->'a-> int)->'a list->'a list->'a list
val to_seq : 'a list->'a Stdlib.Seq.t
val of_seq : 'a Stdlib.Seq.t->'a list
\ No newline at end of file
diff --git a/dev/containers/CCString/index.html b/dev/containers/CCString/index.html
index 338c745f..d2fc86d8 100644
--- a/dev/containers/CCString/index.html
+++ b/dev/containers/CCString/index.html
@@ -1,2 +1,2 @@
-CCString (containers.CCString)
length s returns the length (number of characters) of the given string s.
val blit : t-> int -> Stdlib.Bytes.t -> int -> int -> unit
blit src src_pos dst dst_pos len copies len characters from string src starting at character indice src_pos, to the Bytes sequence dst starting at character indice dst_pos. Like String.blit. Compatible with the -safe-string option.
replace ~which ~sub ~by s replaces some occurrences of sub by by in s.
parameter which
decides whether the occurrences to replace are:
`Left first occurrence from the left (beginning).
`Right first occurrence from the right (end).
`All all occurrences (default).
raises Invalid_argument
if sub = "".
since
0.14
val is_sub : sub:string-> int -> string -> int ->sub_len:int-> bool
is_sub ~sub ~sub_pos s ~pos ~sub_len returns true iff the substring of sub starting at position sub_pos and of length sub_len is a substring of s starting at position pos.
val repeat : string -> int -> string
repeat s n creates a string by repeating the string sn times.
val prefix : pre:string-> string -> bool
prefix ~pre s returns true iff pre is a prefix of s.
val suffix : suf:string-> string -> bool
suffix ~suf s returns true iff suf is a suffix of s.
since
0.7
val chop_prefix : pre:string-> string ->string option
chop_prefix ~pre s removes pre from s if pre really is a prefix of s, returns None otherwise.
since
0.17
val chop_suffix : suf:string-> string ->string option
chop_suffix ~suf s removes suf from s if suf really is a suffix of s, returns None otherwise.
since
0.17
val take : int -> string -> string
take n s keeps only the n first chars of s.
since
0.17
val drop : int -> string -> string
drop n s removes the n first chars of s.
since
0.17
val take_drop : int -> string -> string * string
take_drop n s is take n s, drop n s.
since
0.17
val lines : string ->string list
lines s returns a list of the lines of s (splits along '\n').
unlines_iter iter concatenates all strings of iter, separated with '\n'.
since
3.2
val unlines_seq : string Stdlib.Seq.t-> string
unlines_seq seq concatenates all strings of seq, separated with '\n'.
since
3.2
val set : string -> int -> char -> string
set s i c creates a new string which is a copy of s, except for index i, which becomes c.
raises Invalid_argument
if i is an invalid index.
since
0.12
val iter : (char -> unit)-> string -> unit
iter f s applies function f on each character of s. Alias to String.iter.
since
0.12
val filter_map : (char ->char option)-> string -> string
filter_map f s calls (f a0) (f a1) … (f an) where a0 … an are the characters of s. It returns the string of characters ci such as f ai = Some ci (when f returns None, the corresponding element of s is discarded).
since
0.17
val filter : (char -> bool)-> string -> string
filter f s discards characters of s not satisfying f.
since
0.17
val flat_map : ?sep:string->(char -> string)-> string -> string
flat_map ~sep f s maps each chars of s to a string, then concatenates them all.
parameter sep
optional separator between each generated string.
since
0.12
val for_all : (char -> bool)-> string -> bool
for_all f s is true iff all characters of s satisfy the predicate f.
since
0.12
val exists : (char -> bool)-> string -> bool
exists f s is true iff some character of s satisfy the predicate f.
split_on_char by s splits the string s along the given char by.
since
1.2
val split : by:string-> string ->string list
split ~by s splits the string s along the given string by. Alias to Split.list_cpy.
since
1.2
Utils
val compare_versions : string -> string -> int
compare_versions s1 s2 compares version stringss1 and s2, considering that numbers are above text.
since
0.13
val compare_natural : string -> string -> int
compare_natural s1 s2 is the Natural Sort Order, comparing chunks of digits as natural numbers. https://en.wikipedia.org/wiki/Natural_sort_order
since
1.3
val edit_distance : ?cutoff:int-> string -> string -> int
edit_distance ~cutoff s1 s2 is the edition distance between the two strings s1 and s2. This satisfies the classical distance axioms: it is always positive, symmetric, and satisfies the formula distance s1 s2 + distance s2 s3 >= distance s1 s3.
parameter cutoff
if provided, it's a cap on both the number of iterations, and on the result. (since 3.0). This is useful if you just want to check whether the edit distance is less or equal than 2 (use cutoff of 3).
length s returns the length (number of characters) of the given string s.
val blit : t-> int -> Stdlib.Bytes.t -> int -> int -> unit
blit src src_pos dst dst_pos len copies len characters from string src starting at character indice src_pos, to the Bytes sequence dst starting at character indice dst_pos. Like String.blit. Compatible with the -safe-string option.
replace ~which ~sub ~by s replaces some occurrences of sub by by in s.
parameter which
decides whether the occurrences to replace are:
`Left first occurrence from the left (beginning).
`Right first occurrence from the right (end).
`All all occurrences (default).
raises Invalid_argument
if sub = "".
since
0.14
val is_sub : sub:string-> int -> string -> int ->sub_len:int-> bool
is_sub ~sub ~sub_pos s ~pos ~sub_len returns true iff the substring of sub starting at position sub_pos and of length sub_len is a substring of s starting at position pos.
val repeat : string -> int -> string
repeat s n creates a string by repeating the string sn times.
val prefix : pre:string-> string -> bool
prefix ~pre s returns true iff pre is a prefix of s.
val suffix : suf:string-> string -> bool
suffix ~suf s returns true iff suf is a suffix of s.
since
0.7
val chop_prefix : pre:string-> string ->string option
chop_prefix ~pre s removes pre from s if pre really is a prefix of s, returns None otherwise.
since
0.17
val chop_suffix : suf:string-> string ->string option
chop_suffix ~suf s removes suf from s if suf really is a suffix of s, returns None otherwise.
since
0.17
val take : int -> string -> string
take n s keeps only the n first chars of s.
since
0.17
val drop : int -> string -> string
drop n s removes the n first chars of s.
since
0.17
val take_drop : int -> string -> string * string
take_drop n s is take n s, drop n s.
since
0.17
val lines : string ->string list
lines s returns a list of the lines of s (splits along '\n').
unlines_iter iter concatenates all strings of iter, separated with '\n'.
since
3.2
val unlines_seq : string Stdlib.Seq.t-> string
unlines_seq seq concatenates all strings of seq, separated with '\n'.
since
3.2
val set : string -> int -> char -> string
set s i c creates a new string which is a copy of s, except for index i, which becomes c.
raises Invalid_argument
if i is an invalid index.
since
0.12
val iter : (char -> unit)-> string -> unit
iter f s applies function f on each character of s. Alias to String.iter.
since
0.12
val filter_map : (char ->char option)-> string -> string
filter_map f s calls (f a0) (f a1) … (f an) where a0 … an are the characters of s. It returns the string of characters ci such as f ai = Some ci (when f returns None, the corresponding element of s is discarded).
since
0.17
val filter : (char -> bool)-> string -> string
filter f s discards characters of s not satisfying f.
since
0.17
val flat_map : ?sep:string->(char -> string)-> string -> string
flat_map ~sep f s maps each chars of s to a string, then concatenates them all.
parameter sep
optional separator between each generated string.
since
0.12
val for_all : (char -> bool)-> string -> bool
for_all f s is true iff all characters of s satisfy the predicate f.
since
0.12
val exists : (char -> bool)-> string -> bool
exists f s is true iff some character of s satisfy the predicate f.
split_on_char by s splits the string s along the given char by.
since
1.2
val split : by:string-> string ->string list
split ~by s splits the string s along the given string by. Alias to Split.list_cpy.
since
1.2
Utils
val compare_versions : string -> string -> int
compare_versions s1 s2 compares version stringss1 and s2, considering that numbers are above text.
since
0.13
val compare_natural : string -> string -> int
compare_natural s1 s2 is the Natural Sort Order, comparing chunks of digits as natural numbers. https://en.wikipedia.org/wiki/Natural_sort_order
since
1.3
val edit_distance : ?cutoff:int-> string -> string -> int
edit_distance ~cutoff s1 s2 is the edition distance between the two strings s1 and s2. This satisfies the classical distance axioms: it is always positive, symmetric, and satisfies the formula distance s1 s2 + distance s2 s3 >= distance s1 s3.
parameter cutoff
if provided, it's a cap on both the number of iterations, and on the result. (since 3.0). This is useful if you just want to check whether the edit distance is less or equal than 2 (use cutoff of 3).
\ No newline at end of file
diff --git a/dev/containers/CCStringLabels/index.html b/dev/containers/CCStringLabels/index.html
index 08badb57..f662e67f 100644
--- a/dev/containers/CCStringLabels/index.html
+++ b/dev/containers/CCStringLabels/index.html
@@ -1,2 +1,2 @@
-CCStringLabels (containers.CCStringLabels)
length s returns the length (number of characters) of the given string s.
val blit : src:t->src_pos:int->dst:Stdlib.Bytes.t->dst_pos:int->len:int-> unit
blit ~src ~src_pos ~dst ~dst_pos ~len copies len characters from string src starting at character indice src_pos, to the Bytes sequence dst starting at character indice dst_pos. Like String.blit. Compatible with the -safe-string option.
replace ?which ~sub ~by s replaces some occurrences of sub by by in s.
parameter which
decides whether the occurrences to replace are:
`Left first occurrence from the left (beginning).
`Right first occurrence from the right (end).
`All all occurrences (default).
raises Invalid_argument
if sub = "".
since
0.14
val is_sub : sub:string->sub_pos:int-> string ->pos:int->sub_len:int-> bool
is_sub ~sub ~sub_pos s ~pos ~sub_len returns true iff the substring of sub starting at position sub_pos and of length sub_len is a substring of s starting at position pos.
val repeat : string -> int -> string
repeat s n creates a string by repeating the string sn times.
val prefix : pre:string-> string -> bool
prefix ~pre s returns true iff pre is a prefix of s.
val suffix : suf:string-> string -> bool
suffix ~suf s returns true iff suf is a suffix of s.
since
0.7
val chop_prefix : pre:string-> string ->string option
chop_prefix ~pre s removes pre from s if pre really is a prefix of s, returns None otherwise.
since
0.17
val chop_suffix : suf:string-> string ->string option
chop_suffix ~suf s removes suf from s if suf really is a suffix of s, returns None otherwise.
since
0.17
val take : int -> string -> string
take n s keeps only the n first chars of s.
since
0.17
val drop : int -> string -> string
drop n s removes the n first chars of s.
since
0.17
val take_drop : int -> string -> string * string
take_drop n s is take n s, drop n s.
since
0.17
val lines : string ->string list
lines s returns a list of the lines of s (splits along '\n').
unlines_iter iter concatenates all strings of iter, separated with '\n'.
since
3.2
val unlines_seq : string Stdlib.Seq.t-> string
unlines_seq seq concatenates all strings of seq, separated with '\n'.
since
3.2
val set : string -> int -> char -> string
set s i c creates a new string which is a copy of s, except for index i, which becomes c.
raises Invalid_argument
if i is an invalid index.
since
0.12
val iter : f:(char -> unit)-> string -> unit
iter ~f s applies function f on each character of s. Alias to String.iter.
since
0.12
val filter_map : f:(char ->char option)-> string -> string
filter_map ~f s calls (f a0) (f a1) … (f an) where a0 … an are the characters of s. It returns the string of characters ci such as f ai = Some ci (when f returns None, the corresponding element of s is discarded).
since
0.17
val filter : f:(char -> bool)-> string -> string
filter ~f s discards characters of s not satisfying f.
since
0.17
val flat_map : ?sep:string->f:(char -> string)-> string -> string
flat_map ?sep ~f s maps each chars of s to a string, then concatenates them all.
parameter sep
optional separator between each generated string.
since
0.12
val for_all : f:(char -> bool)-> string -> bool
for_all ~f s is true iff all characters of s satisfy the predicate f.
since
0.12
val exists : f:(char -> bool)-> string -> bool
exists ~f s is true iff some character of s satisfy the predicate f.
val split_on_char : by:char-> string ->string list
split_on_char ~by s splits the string s along the given char by.
since
1.2
val split : by:string-> string ->string list
split ~by s splits the string s along the given string by. Alias to Split.list_cpy.
since
1.2
Utils
val compare_versions : string -> string -> int
compare_versions s1 s2 compares version stringss1 and s2, considering that numbers are above text.
since
0.13
val compare_natural : string -> string -> int
compare_natural s1 s2 is the Natural Sort Order, comparing chunks of digits as natural numbers. https://en.wikipedia.org/wiki/Natural_sort_order
since
1.3
val edit_distance : ?cutoff:int-> string -> string -> int
edit_distance ?cutoff s1 s2 is the edition distance between the two strings s1 and s2. This satisfies the classical distance axioms: it is always positive, symmetric, and satisfies the formula distance s1 s2 + distance s2 s3 >= distance s1 s3.
parameter cutoff
if provided, it's a cap on both the number of iterations, and on the result. (since 3.0). This is useful if you just want to check whether the edit distance is less or equal than 2 (use cutoff of 3).
length s returns the length (number of characters) of the given string s.
val blit : src:t->src_pos:int->dst:Stdlib.Bytes.t->dst_pos:int->len:int-> unit
blit ~src ~src_pos ~dst ~dst_pos ~len copies len characters from string src starting at character indice src_pos, to the Bytes sequence dst starting at character indice dst_pos. Like String.blit. Compatible with the -safe-string option.
replace ?which ~sub ~by s replaces some occurrences of sub by by in s.
parameter which
decides whether the occurrences to replace are:
`Left first occurrence from the left (beginning).
`Right first occurrence from the right (end).
`All all occurrences (default).
raises Invalid_argument
if sub = "".
since
0.14
val is_sub : sub:string->sub_pos:int-> string ->pos:int->sub_len:int-> bool
is_sub ~sub ~sub_pos s ~pos ~sub_len returns true iff the substring of sub starting at position sub_pos and of length sub_len is a substring of s starting at position pos.
val repeat : string -> int -> string
repeat s n creates a string by repeating the string sn times.
val prefix : pre:string-> string -> bool
prefix ~pre s returns true iff pre is a prefix of s.
val suffix : suf:string-> string -> bool
suffix ~suf s returns true iff suf is a suffix of s.
since
0.7
val chop_prefix : pre:string-> string ->string option
chop_prefix ~pre s removes pre from s if pre really is a prefix of s, returns None otherwise.
since
0.17
val chop_suffix : suf:string-> string ->string option
chop_suffix ~suf s removes suf from s if suf really is a suffix of s, returns None otherwise.
since
0.17
val take : int -> string -> string
take n s keeps only the n first chars of s.
since
0.17
val drop : int -> string -> string
drop n s removes the n first chars of s.
since
0.17
val take_drop : int -> string -> string * string
take_drop n s is take n s, drop n s.
since
0.17
val lines : string ->string list
lines s returns a list of the lines of s (splits along '\n').
unlines_iter iter concatenates all strings of iter, separated with '\n'.
since
3.2
val unlines_seq : string Stdlib.Seq.t-> string
unlines_seq seq concatenates all strings of seq, separated with '\n'.
since
3.2
val set : string -> int -> char -> string
set s i c creates a new string which is a copy of s, except for index i, which becomes c.
raises Invalid_argument
if i is an invalid index.
since
0.12
val iter : f:(char -> unit)-> string -> unit
iter ~f s applies function f on each character of s. Alias to String.iter.
since
0.12
val filter_map : f:(char ->char option)-> string -> string
filter_map ~f s calls (f a0) (f a1) … (f an) where a0 … an are the characters of s. It returns the string of characters ci such as f ai = Some ci (when f returns None, the corresponding element of s is discarded).
since
0.17
val filter : f:(char -> bool)-> string -> string
filter ~f s discards characters of s not satisfying f.
since
0.17
val flat_map : ?sep:string->f:(char -> string)-> string -> string
flat_map ?sep ~f s maps each chars of s to a string, then concatenates them all.
parameter sep
optional separator between each generated string.
since
0.12
val for_all : f:(char -> bool)-> string -> bool
for_all ~f s is true iff all characters of s satisfy the predicate f.
since
0.12
val exists : f:(char -> bool)-> string -> bool
exists ~f s is true iff some character of s satisfy the predicate f.
val split_on_char : by:char-> string ->string list
split_on_char ~by s splits the string s along the given char by.
since
1.2
val split : by:string-> string ->string list
split ~by s splits the string s along the given string by. Alias to Split.list_cpy.
since
1.2
Utils
val compare_versions : string -> string -> int
compare_versions s1 s2 compares version stringss1 and s2, considering that numbers are above text.
since
0.13
val compare_natural : string -> string -> int
compare_natural s1 s2 is the Natural Sort Order, comparing chunks of digits as natural numbers. https://en.wikipedia.org/wiki/Natural_sort_order
since
1.3
val edit_distance : ?cutoff:int-> string -> string -> int
edit_distance ?cutoff s1 s2 is the edition distance between the two strings s1 and s2. This satisfies the classical distance axioms: it is always positive, symmetric, and satisfies the formula distance s1 s2 + distance s2 s3 >= distance s1 s3.
parameter cutoff
if provided, it's a cap on both the number of iterations, and on the result. (since 3.0). This is useful if you just want to check whether the edit distance is less or equal than 2 (use cutoff of 3).
\ No newline at end of file
diff --git a/dev/containers/Containers/Hashtbl/Make/index.html b/dev/containers/Containers/Hashtbl/Make/index.html
index 7d07eee0..4bd10044 100644
--- a/dev/containers/Containers/Hashtbl/Make/index.html
+++ b/dev/containers/Containers/Hashtbl/Make/index.html
@@ -1,2 +1,2 @@
-Make (containers.Containers.Hashtbl.Make)
\ No newline at end of file
diff --git a/dev/containers/Containers/Hashtbl/MakeSeeded/index.html b/dev/containers/Containers/Hashtbl/MakeSeeded/index.html
index 324ef2d5..bbce5f46 100644
--- a/dev/containers/Containers/Hashtbl/MakeSeeded/index.html
+++ b/dev/containers/Containers/Hashtbl/MakeSeeded/index.html
@@ -1,2 +1,2 @@
-MakeSeeded (containers.Containers.Hashtbl.MakeSeeded)
\ No newline at end of file
diff --git a/dev/containers/Containers/Hashtbl/index.html b/dev/containers/Containers/Hashtbl/index.html
index 1873d8aa..d19afa8a 100644
--- a/dev/containers/Containers/Hashtbl/index.html
+++ b/dev/containers/Containers/Hashtbl/index.html
@@ -1,2 +1,2 @@
-Hashtbl (containers.Containers.Hashtbl)
keys tbl f iterates on keys (similar order as Hashtbl.iter).
val values : ('a, 'b) Stdlib.Hashtbl.t->'bCCHashtbl.iter
values tbl f iterates on values in the table tbl.
val keys_list : ('a, 'b) Stdlib.Hashtbl.t->'a list
keys_list tbl is the list of keys in tbl. If the key is in the Hashtable multiple times, all occurrences will be returned.
since
0.8
val values_list : ('a, 'b) Stdlib.Hashtbl.t->'b list
values_list tbl is the list of values in tbl.
since
0.8
val map_list : ('a->'b->'c)->('a, 'b) Stdlib.Hashtbl.t->'c list
map_list f tbl maps on a tbl's items. Collect into a list.
val incr : ?by:int->('a, int) Stdlib.Hashtbl.t->'a-> unit
incr ?by tbl x increments or initializes the counter associated with x. If get tbl x = None, then after update, get tbl x = Some 1; otherwise, if get tbl x = Some n, now get tbl x = Some (n+1).
parameter by
if specified, the int value is incremented by by rather than 1.
since
0.16
val decr : ?by:int->('a, int) Stdlib.Hashtbl.t->'a-> unit
decr ?by tbl x is like incr but subtract 1 (or the value of by). If the value reaches 0, the key is removed from the table. This does nothing if the key is not already present in the table.
since
0.16
val to_iter : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b)CCHashtbl.iter
Iterate on bindings in the table.
since
2.8
val add_list : ('a, 'b list) Stdlib.Hashtbl.t->'a->'b-> unit
add_list tbl x y adds y to the list x is bound to. If x is not bound, it becomes bound to y.
since
0.16
val add_iter : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b)CCHashtbl.iter-> unit
Add the corresponding pairs to the table, using Hashtbl.add.
since
2.8
val add_iter_with : f:('a->'b->'b->'b)->('a, 'b) Stdlib.Hashtbl.t->('a * 'b)CCHashtbl.iter-> unit
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val add_seq : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table, using Hashtbl.add. Renamed from add_std_seq since 3.0.
since
3.0
val add_seq_with : f:('a->'b->'b->'b)->('a, 'b) Stdlib.Hashtbl.t->('a * 'b) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val of_iter : ('a * 'b)CCHashtbl.iter->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order.
since
2.8
val of_iter_with : f:('a->'b->'b->'b)->('a * 'b)CCHashtbl.iter->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val of_seq : ('a * 'b) Stdlib.Seq.t->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. Renamed from of_std_seq since 3.0.
since
3.0
val of_seq_with : f:('a->'b->'b->'b)->('a * 'b) Stdlib.Seq.t->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val add_iter_count : ('a, int) Stdlib.Hashtbl.t->'aCCHashtbl.iter-> unit
add_iter_count tbl i increments the count of each element of i by calling incr. This is useful for counting how many times each element of i occurs.
since
2.8
val add_seq_count : ('a, int) Stdlib.Hashtbl.t->'a Stdlib.Seq.t-> unit
add_seq_count tbl seq increments the count of each element of seq by calling incr. This is useful for counting how many times each element of seq occurs. Renamed from add_std_seq_count since 3.0.
since
3.0
val of_iter_count : 'aCCHashtbl.iter->('a, int) Stdlib.Hashtbl.t
Like add_seq_count, but allocates a new table and returns it.
since
2.8
val of_seq_count : 'a Stdlib.Seq.t->('a, int) Stdlib.Hashtbl.t
Like add_seq_count, but allocates a new table and returns it. Renamed from of_std_seq_count since 3.0.
since
3.0
val to_list : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b) list
to_list tbl returns the list of (key,value) bindings (order unspecified).
val of_list : ('a * 'b) list->('a, 'b) Stdlib.Hashtbl.t
of_list l builds a table from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, it will be added several times, and the visible binding will be the last one.
val of_list_with : f:('a->'b->'b->'b)->('a * 'b) list->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val update : ('a, 'b) Stdlib.Hashtbl.t->f:('a->'b option->'b option)->k:'a-> unit
update tbl ~f ~k updates key k by calling f k (Some v) if k was mapped to v, or f k None otherwise; if the call returns None then k is removed/stays removed, if the call returns Some v' then the binding k -> v' is inserted using Hashtbl.replace.
since
0.14
val get_or_add : ('a, 'b) Stdlib.Hashtbl.t->f:('a->'b)->k:'a->'b
get_or_add tbl ~k ~f finds and returns the binding of k in tbl, if it exists. If it does not exist, then f k is called to obtain a new binding v; k -> v is added to tbl and v is returned.
pp ~pp_start ~pp_stop ~pp_sep ~pp arrow pp_k pp_v returns a table printer given a pp_k printer for individual key and a pp_v printer for individual value. pp_start and pp_stop control the opening and closing delimiters, by default print nothing. pp_sep control the separator between binding. pp_arrow control the arrow between the key and value. Renamed from print since 2.0.
keys tbl f iterates on keys (similar order as Hashtbl.iter).
val values : ('a, 'b) Stdlib.Hashtbl.t->'bCCHashtbl.iter
values tbl f iterates on values in the table tbl.
val keys_list : ('a, 'b) Stdlib.Hashtbl.t->'a list
keys_list tbl is the list of keys in tbl. If the key is in the Hashtable multiple times, all occurrences will be returned.
since
0.8
val values_list : ('a, 'b) Stdlib.Hashtbl.t->'b list
values_list tbl is the list of values in tbl.
since
0.8
val map_list : ('a->'b->'c)->('a, 'b) Stdlib.Hashtbl.t->'c list
map_list f tbl maps on a tbl's items. Collect into a list.
val incr : ?by:int->('a, int) Stdlib.Hashtbl.t->'a-> unit
incr ?by tbl x increments or initializes the counter associated with x. If get tbl x = None, then after update, get tbl x = Some 1; otherwise, if get tbl x = Some n, now get tbl x = Some (n+1).
parameter by
if specified, the int value is incremented by by rather than 1.
since
0.16
val decr : ?by:int->('a, int) Stdlib.Hashtbl.t->'a-> unit
decr ?by tbl x is like incr but subtract 1 (or the value of by). If the value reaches 0, the key is removed from the table. This does nothing if the key is not already present in the table.
since
0.16
val to_iter : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b)CCHashtbl.iter
Iterate on bindings in the table.
since
2.8
val add_list : ('a, 'b list) Stdlib.Hashtbl.t->'a->'b-> unit
add_list tbl x y adds y to the list x is bound to. If x is not bound, it becomes bound to y.
since
0.16
val add_iter : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b)CCHashtbl.iter-> unit
Add the corresponding pairs to the table, using Hashtbl.add.
since
2.8
val add_iter_with : f:('a->'b->'b->'b)->('a, 'b) Stdlib.Hashtbl.t->('a * 'b)CCHashtbl.iter-> unit
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val add_seq : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table, using Hashtbl.add. Renamed from add_std_seq since 3.0.
since
3.0
val add_seq_with : f:('a->'b->'b->'b)->('a, 'b) Stdlib.Hashtbl.t->('a * 'b) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val of_iter : ('a * 'b)CCHashtbl.iter->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order.
since
2.8
val of_iter_with : f:('a->'b->'b->'b)->('a * 'b)CCHashtbl.iter->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val of_seq : ('a * 'b) Stdlib.Seq.t->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. Renamed from of_std_seq since 3.0.
since
3.0
val of_seq_with : f:('a->'b->'b->'b)->('a * 'b) Stdlib.Seq.t->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val add_iter_count : ('a, int) Stdlib.Hashtbl.t->'aCCHashtbl.iter-> unit
add_iter_count tbl i increments the count of each element of i by calling incr. This is useful for counting how many times each element of i occurs.
since
2.8
val add_seq_count : ('a, int) Stdlib.Hashtbl.t->'a Stdlib.Seq.t-> unit
add_seq_count tbl seq increments the count of each element of seq by calling incr. This is useful for counting how many times each element of seq occurs. Renamed from add_std_seq_count since 3.0.
since
3.0
val of_iter_count : 'aCCHashtbl.iter->('a, int) Stdlib.Hashtbl.t
Like add_seq_count, but allocates a new table and returns it.
since
2.8
val of_seq_count : 'a Stdlib.Seq.t->('a, int) Stdlib.Hashtbl.t
Like add_seq_count, but allocates a new table and returns it. Renamed from of_std_seq_count since 3.0.
since
3.0
val to_list : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b) list
to_list tbl returns the list of (key,value) bindings (order unspecified).
val of_list : ('a * 'b) list->('a, 'b) Stdlib.Hashtbl.t
of_list l builds a table from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, it will be added several times, and the visible binding will be the last one.
val of_list_with : f:('a->'b->'b->'b)->('a * 'b) list->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val update : ('a, 'b) Stdlib.Hashtbl.t->f:('a->'b option->'b option)->k:'a-> unit
update tbl ~f ~k updates key k by calling f k (Some v) if k was mapped to v, or f k None otherwise; if the call returns None then k is removed/stays removed, if the call returns Some v' then the binding k -> v' is inserted using Hashtbl.replace.
since
0.14
val get_or_add : ('a, 'b) Stdlib.Hashtbl.t->f:('a->'b)->k:'a->'b
get_or_add tbl ~k ~f finds and returns the binding of k in tbl, if it exists. If it does not exist, then f k is called to obtain a new binding v; k -> v is added to tbl and v is returned.
pp ~pp_start ~pp_stop ~pp_sep ~pp arrow pp_k pp_v returns a table printer given a pp_k printer for individual key and a pp_v printer for individual value. pp_start and pp_stop control the opening and closing delimiters, by default print nothing. pp_sep control the separator between binding. pp_arrow control the arrow between the key and value. Renamed from print since 2.0.
\ No newline at end of file
diff --git a/dev/containers/Containers/Hashtbl/module-type-S'/index.html b/dev/containers/Containers/Hashtbl/module-type-S'/index.html
index dc5e1f27..0c7ea33f 100644
--- a/dev/containers/Containers/Hashtbl/module-type-S'/index.html
+++ b/dev/containers/Containers/Hashtbl/module-type-S'/index.html
@@ -1,2 +1,2 @@
-S' (containers.Containers.Hashtbl.S')
incr ?by tbl x increments or initializes the counter associated with x. If get tbl x = None, then after update, get tbl x = Some 1; otherwise, if get tbl x = Some n, now get tbl x = Some (n+1).
parameter by
if specified, the int value is incremented by by rather than 1.
decr ?by tbl x is like incr but subtract 1 (or the value of by). If the value reaches 0, the key is removed from the table. This does nothing if the key is not already present in the table.
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
Add the corresponding pairs to the table, using Hashtbl.add. Renamed from add_std_seq since 3.0.
since
3.0
val add_seq_with : f:(key->'a->'a->'a)->'at->(key * 'a) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
add_iter_count tbl i increments the count of each element of i by calling incr. This is useful for counting how many times each element of i occurs.
since
2.8
val add_seq_count : int t->key Stdlib.Seq.t-> unit
add_seq_count tbl seq increments the count of each element of seq by calling incr. This is useful for counting how many times each element of seq occurs. Renamed from of_std_seq_count since 3.0.
of_list l builds a table from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, it will be added several times, and the visible binding will be the last one.
val of_list_with : f:(key->'a->'a->'a)->(key * 'a) list->'at
of_list l builds a table from the given list l of bindings k_i -> v_i. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val update : 'at->f:(key->'a option->'a option)->k:key-> unit
update tbl ~f ~k updates key k by calling f k (Some v) if k was mapped to v, or f k None otherwise; if the call returns None then k is removed/stays removed, if the call returns Some v' then the binding k -> v' is inserted using Hashtbl.replace.
get_or_add tbl ~k ~f finds and returns the binding of k in tbl, if it exists. If it does not exist, then f k is called to obtain a new binding v; k -> v is added to tbl and v is returned.
pp ~pp_start ~pp_stop ~pp_sep ~pp arrow pp_k pp_v returns a table printer given a pp_k printer for individual key and a pp_v printer for individual value. pp_start and pp_stop control the opening and closing delimiters, by default print nothing. pp_sep control the separator between binding. pp_arrow control the arrow between the key and value. Renamed from print since 2.0.
since
0.13
\ No newline at end of file
+S' (containers.Containers.Hashtbl.S')
incr ?by tbl x increments or initializes the counter associated with x. If get tbl x = None, then after update, get tbl x = Some 1; otherwise, if get tbl x = Some n, now get tbl x = Some (n+1).
parameter by
if specified, the int value is incremented by by rather than 1.
decr ?by tbl x is like incr but subtract 1 (or the value of by). If the value reaches 0, the key is removed from the table. This does nothing if the key is not already present in the table.
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
Add the corresponding pairs to the table, using Hashtbl.add. Renamed from add_std_seq since 3.0.
since
3.0
val add_seq_with : f:(key->'a->'a->'a)->'at->(key * 'a) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
add_iter_count tbl i increments the count of each element of i by calling incr. This is useful for counting how many times each element of i occurs.
since
2.8
val add_seq_count : int t->key Stdlib.Seq.t-> unit
add_seq_count tbl seq increments the count of each element of seq by calling incr. This is useful for counting how many times each element of seq occurs. Renamed from of_std_seq_count since 3.0.
of_list l builds a table from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, it will be added several times, and the visible binding will be the last one.
val of_list_with : f:(key->'a->'a->'a)->(key * 'a) list->'at
of_list l builds a table from the given list l of bindings k_i -> v_i. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val update : 'at->f:(key->'a option->'a option)->k:key-> unit
update tbl ~f ~k updates key k by calling f k (Some v) if k was mapped to v, or f k None otherwise; if the call returns None then k is removed/stays removed, if the call returns Some v' then the binding k -> v' is inserted using Hashtbl.replace.
get_or_add tbl ~k ~f finds and returns the binding of k in tbl, if it exists. If it does not exist, then f k is called to obtain a new binding v; k -> v is added to tbl and v is returned.
pp ~pp_start ~pp_stop ~pp_sep ~pp arrow pp_k pp_v returns a table printer given a pp_k printer for individual key and a pp_v printer for individual value. pp_start and pp_stop control the opening and closing delimiters, by default print nothing. pp_sep control the separator between binding. pp_arrow control the arrow between the key and value. Renamed from print since 2.0.
since
0.13
\ No newline at end of file
diff --git a/dev/containers/Containers/Hashtbl/module-type-S/index.html b/dev/containers/Containers/Hashtbl/module-type-S/index.html
index 6dc11501..aa696bc5 100644
--- a/dev/containers/Containers/Hashtbl/module-type-S/index.html
+++ b/dev/containers/Containers/Hashtbl/module-type-S/index.html
@@ -1,2 +1,2 @@
-S (containers.Containers.Hashtbl.S)
\ No newline at end of file
diff --git a/dev/containers/Containers/Hashtbl/module-type-SeededS/index.html b/dev/containers/Containers/Hashtbl/module-type-SeededS/index.html
index 35702b9b..f84411fc 100644
--- a/dev/containers/Containers/Hashtbl/module-type-SeededS/index.html
+++ b/dev/containers/Containers/Hashtbl/module-type-SeededS/index.html
@@ -1,2 +1,2 @@
-SeededS (containers.Containers.Hashtbl.SeededS)
\ No newline at end of file
diff --git a/dev/containers/ContainersLabels/Hashtbl/Make/index.html b/dev/containers/ContainersLabels/Hashtbl/Make/index.html
index 18468ec0..31eef906 100644
--- a/dev/containers/ContainersLabels/Hashtbl/Make/index.html
+++ b/dev/containers/ContainersLabels/Hashtbl/Make/index.html
@@ -1,2 +1,2 @@
-Make (containers.ContainersLabels.Hashtbl.Make)
\ No newline at end of file
diff --git a/dev/containers/ContainersLabels/Hashtbl/MakeSeeded/index.html b/dev/containers/ContainersLabels/Hashtbl/MakeSeeded/index.html
index c5eab6dc..173eb65c 100644
--- a/dev/containers/ContainersLabels/Hashtbl/MakeSeeded/index.html
+++ b/dev/containers/ContainersLabels/Hashtbl/MakeSeeded/index.html
@@ -1,2 +1,2 @@
-MakeSeeded (containers.ContainersLabels.Hashtbl.MakeSeeded)
\ No newline at end of file
diff --git a/dev/containers/ContainersLabels/Hashtbl/index.html b/dev/containers/ContainersLabels/Hashtbl/index.html
index 61c1d6c4..87c78145 100644
--- a/dev/containers/ContainersLabels/Hashtbl/index.html
+++ b/dev/containers/ContainersLabels/Hashtbl/index.html
@@ -1,2 +1,2 @@
-Hashtbl (containers.ContainersLabels.Hashtbl)
keys tbl f iterates on keys (similar order as Hashtbl.iter).
val values : ('a, 'b) Stdlib.Hashtbl.t->'bCCHashtbl.iter
values tbl f iterates on values in the table tbl.
val keys_list : ('a, 'b) Stdlib.Hashtbl.t->'a list
keys_list tbl is the list of keys in tbl. If the key is in the Hashtable multiple times, all occurrences will be returned.
since
0.8
val values_list : ('a, 'b) Stdlib.Hashtbl.t->'b list
values_list tbl is the list of values in tbl.
since
0.8
val map_list : ('a->'b->'c)->('a, 'b) Stdlib.Hashtbl.t->'c list
map_list f tbl maps on a tbl's items. Collect into a list.
val incr : ?by:int->('a, int) Stdlib.Hashtbl.t->'a-> unit
incr ?by tbl x increments or initializes the counter associated with x. If get tbl x = None, then after update, get tbl x = Some 1; otherwise, if get tbl x = Some n, now get tbl x = Some (n+1).
parameter by
if specified, the int value is incremented by by rather than 1.
since
0.16
val decr : ?by:int->('a, int) Stdlib.Hashtbl.t->'a-> unit
decr ?by tbl x is like incr but subtract 1 (or the value of by). If the value reaches 0, the key is removed from the table. This does nothing if the key is not already present in the table.
since
0.16
val to_iter : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b)CCHashtbl.iter
Iterate on bindings in the table.
since
2.8
val add_list : ('a, 'b list) Stdlib.Hashtbl.t->'a->'b-> unit
add_list tbl x y adds y to the list x is bound to. If x is not bound, it becomes bound to y.
since
0.16
val add_iter : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b)CCHashtbl.iter-> unit
Add the corresponding pairs to the table, using Hashtbl.add.
since
2.8
val add_iter_with : f:('a->'b->'b->'b)->('a, 'b) Stdlib.Hashtbl.t->('a * 'b)CCHashtbl.iter-> unit
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val add_seq : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table, using Hashtbl.add. Renamed from add_std_seq since 3.0.
since
3.0
val add_seq_with : f:('a->'b->'b->'b)->('a, 'b) Stdlib.Hashtbl.t->('a * 'b) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val of_iter : ('a * 'b)CCHashtbl.iter->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order.
since
2.8
val of_iter_with : f:('a->'b->'b->'b)->('a * 'b)CCHashtbl.iter->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val of_seq : ('a * 'b) Stdlib.Seq.t->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. Renamed from of_std_seq since 3.0.
since
3.0
val of_seq_with : f:('a->'b->'b->'b)->('a * 'b) Stdlib.Seq.t->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val add_iter_count : ('a, int) Stdlib.Hashtbl.t->'aCCHashtbl.iter-> unit
add_iter_count tbl i increments the count of each element of i by calling incr. This is useful for counting how many times each element of i occurs.
since
2.8
val add_seq_count : ('a, int) Stdlib.Hashtbl.t->'a Stdlib.Seq.t-> unit
add_seq_count tbl seq increments the count of each element of seq by calling incr. This is useful for counting how many times each element of seq occurs. Renamed from add_std_seq_count since 3.0.
since
3.0
val of_iter_count : 'aCCHashtbl.iter->('a, int) Stdlib.Hashtbl.t
Like add_seq_count, but allocates a new table and returns it.
since
2.8
val of_seq_count : 'a Stdlib.Seq.t->('a, int) Stdlib.Hashtbl.t
Like add_seq_count, but allocates a new table and returns it. Renamed from of_std_seq_count since 3.0.
since
3.0
val to_list : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b) list
to_list tbl returns the list of (key,value) bindings (order unspecified).
val of_list : ('a * 'b) list->('a, 'b) Stdlib.Hashtbl.t
of_list l builds a table from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, it will be added several times, and the visible binding will be the last one.
val of_list_with : f:('a->'b->'b->'b)->('a * 'b) list->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val update : ('a, 'b) Stdlib.Hashtbl.t->f:('a->'b option->'b option)->k:'a-> unit
update tbl ~f ~k updates key k by calling f k (Some v) if k was mapped to v, or f k None otherwise; if the call returns None then k is removed/stays removed, if the call returns Some v' then the binding k -> v' is inserted using Hashtbl.replace.
since
0.14
val get_or_add : ('a, 'b) Stdlib.Hashtbl.t->f:('a->'b)->k:'a->'b
get_or_add tbl ~k ~f finds and returns the binding of k in tbl, if it exists. If it does not exist, then f k is called to obtain a new binding v; k -> v is added to tbl and v is returned.
pp ~pp_start ~pp_stop ~pp_sep ~pp arrow pp_k pp_v returns a table printer given a pp_k printer for individual key and a pp_v printer for individual value. pp_start and pp_stop control the opening and closing delimiters, by default print nothing. pp_sep control the separator between binding. pp_arrow control the arrow between the key and value. Renamed from print since 2.0.
keys tbl f iterates on keys (similar order as Hashtbl.iter).
val values : ('a, 'b) Stdlib.Hashtbl.t->'bCCHashtbl.iter
values tbl f iterates on values in the table tbl.
val keys_list : ('a, 'b) Stdlib.Hashtbl.t->'a list
keys_list tbl is the list of keys in tbl. If the key is in the Hashtable multiple times, all occurrences will be returned.
since
0.8
val values_list : ('a, 'b) Stdlib.Hashtbl.t->'b list
values_list tbl is the list of values in tbl.
since
0.8
val map_list : ('a->'b->'c)->('a, 'b) Stdlib.Hashtbl.t->'c list
map_list f tbl maps on a tbl's items. Collect into a list.
val incr : ?by:int->('a, int) Stdlib.Hashtbl.t->'a-> unit
incr ?by tbl x increments or initializes the counter associated with x. If get tbl x = None, then after update, get tbl x = Some 1; otherwise, if get tbl x = Some n, now get tbl x = Some (n+1).
parameter by
if specified, the int value is incremented by by rather than 1.
since
0.16
val decr : ?by:int->('a, int) Stdlib.Hashtbl.t->'a-> unit
decr ?by tbl x is like incr but subtract 1 (or the value of by). If the value reaches 0, the key is removed from the table. This does nothing if the key is not already present in the table.
since
0.16
val to_iter : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b)CCHashtbl.iter
Iterate on bindings in the table.
since
2.8
val add_list : ('a, 'b list) Stdlib.Hashtbl.t->'a->'b-> unit
add_list tbl x y adds y to the list x is bound to. If x is not bound, it becomes bound to y.
since
0.16
val add_iter : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b)CCHashtbl.iter-> unit
Add the corresponding pairs to the table, using Hashtbl.add.
since
2.8
val add_iter_with : f:('a->'b->'b->'b)->('a, 'b) Stdlib.Hashtbl.t->('a * 'b)CCHashtbl.iter-> unit
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val add_seq : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table, using Hashtbl.add. Renamed from add_std_seq since 3.0.
since
3.0
val add_seq_with : f:('a->'b->'b->'b)->('a, 'b) Stdlib.Hashtbl.t->('a * 'b) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val of_iter : ('a * 'b)CCHashtbl.iter->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order.
since
2.8
val of_iter_with : f:('a->'b->'b->'b)->('a * 'b)CCHashtbl.iter->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val of_seq : ('a * 'b) Stdlib.Seq.t->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. Renamed from of_std_seq since 3.0.
since
3.0
val of_seq_with : f:('a->'b->'b->'b)->('a * 'b) Stdlib.Seq.t->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val add_iter_count : ('a, int) Stdlib.Hashtbl.t->'aCCHashtbl.iter-> unit
add_iter_count tbl i increments the count of each element of i by calling incr. This is useful for counting how many times each element of i occurs.
since
2.8
val add_seq_count : ('a, int) Stdlib.Hashtbl.t->'a Stdlib.Seq.t-> unit
add_seq_count tbl seq increments the count of each element of seq by calling incr. This is useful for counting how many times each element of seq occurs. Renamed from add_std_seq_count since 3.0.
since
3.0
val of_iter_count : 'aCCHashtbl.iter->('a, int) Stdlib.Hashtbl.t
Like add_seq_count, but allocates a new table and returns it.
since
2.8
val of_seq_count : 'a Stdlib.Seq.t->('a, int) Stdlib.Hashtbl.t
Like add_seq_count, but allocates a new table and returns it. Renamed from of_std_seq_count since 3.0.
since
3.0
val to_list : ('a, 'b) Stdlib.Hashtbl.t->('a * 'b) list
to_list tbl returns the list of (key,value) bindings (order unspecified).
val of_list : ('a * 'b) list->('a, 'b) Stdlib.Hashtbl.t
of_list l builds a table from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, it will be added several times, and the visible binding will be the last one.
val of_list_with : f:('a->'b->'b->'b)->('a * 'b) list->('a, 'b) Stdlib.Hashtbl.t
From the given bindings, added in order. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val update : ('a, 'b) Stdlib.Hashtbl.t->f:('a->'b option->'b option)->k:'a-> unit
update tbl ~f ~k updates key k by calling f k (Some v) if k was mapped to v, or f k None otherwise; if the call returns None then k is removed/stays removed, if the call returns Some v' then the binding k -> v' is inserted using Hashtbl.replace.
since
0.14
val get_or_add : ('a, 'b) Stdlib.Hashtbl.t->f:('a->'b)->k:'a->'b
get_or_add tbl ~k ~f finds and returns the binding of k in tbl, if it exists. If it does not exist, then f k is called to obtain a new binding v; k -> v is added to tbl and v is returned.
pp ~pp_start ~pp_stop ~pp_sep ~pp arrow pp_k pp_v returns a table printer given a pp_k printer for individual key and a pp_v printer for individual value. pp_start and pp_stop control the opening and closing delimiters, by default print nothing. pp_sep control the separator between binding. pp_arrow control the arrow between the key and value. Renamed from print since 2.0.
\ No newline at end of file
diff --git a/dev/containers/ContainersLabels/Hashtbl/module-type-S'/index.html b/dev/containers/ContainersLabels/Hashtbl/module-type-S'/index.html
index 94b5c1a5..556a0ee4 100644
--- a/dev/containers/ContainersLabels/Hashtbl/module-type-S'/index.html
+++ b/dev/containers/ContainersLabels/Hashtbl/module-type-S'/index.html
@@ -1,2 +1,2 @@
-S' (containers.ContainersLabels.Hashtbl.S')
incr ?by tbl x increments or initializes the counter associated with x. If get tbl x = None, then after update, get tbl x = Some 1; otherwise, if get tbl x = Some n, now get tbl x = Some (n+1).
parameter by
if specified, the int value is incremented by by rather than 1.
decr ?by tbl x is like incr but subtract 1 (or the value of by). If the value reaches 0, the key is removed from the table. This does nothing if the key is not already present in the table.
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
Add the corresponding pairs to the table, using Hashtbl.add. Renamed from add_std_seq since 3.0.
since
3.0
val add_seq_with : f:(key->'a->'a->'a)->'at->(key * 'a) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
add_iter_count tbl i increments the count of each element of i by calling incr. This is useful for counting how many times each element of i occurs.
since
2.8
val add_seq_count : int t->key Stdlib.Seq.t-> unit
add_seq_count tbl seq increments the count of each element of seq by calling incr. This is useful for counting how many times each element of seq occurs. Renamed from of_std_seq_count since 3.0.
of_list l builds a table from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, it will be added several times, and the visible binding will be the last one.
val of_list_with : f:(key->'a->'a->'a)->(key * 'a) list->'at
of_list l builds a table from the given list l of bindings k_i -> v_i. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val update : 'at->f:(key->'a option->'a option)->k:key-> unit
update tbl ~f ~k updates key k by calling f k (Some v) if k was mapped to v, or f k None otherwise; if the call returns None then k is removed/stays removed, if the call returns Some v' then the binding k -> v' is inserted using Hashtbl.replace.
get_or_add tbl ~k ~f finds and returns the binding of k in tbl, if it exists. If it does not exist, then f k is called to obtain a new binding v; k -> v is added to tbl and v is returned.
pp ~pp_start ~pp_stop ~pp_sep ~pp arrow pp_k pp_v returns a table printer given a pp_k printer for individual key and a pp_v printer for individual value. pp_start and pp_stop control the opening and closing delimiters, by default print nothing. pp_sep control the separator between binding. pp_arrow control the arrow between the key and value. Renamed from print since 2.0.
since
0.13
\ No newline at end of file
+S' (containers.ContainersLabels.Hashtbl.S')
incr ?by tbl x increments or initializes the counter associated with x. If get tbl x = None, then after update, get tbl x = Some 1; otherwise, if get tbl x = Some n, now get tbl x = Some (n+1).
parameter by
if specified, the int value is incremented by by rather than 1.
decr ?by tbl x is like incr but subtract 1 (or the value of by). If the value reaches 0, the key is removed from the table. This does nothing if the key is not already present in the table.
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
Add the corresponding pairs to the table, using Hashtbl.add. Renamed from add_std_seq since 3.0.
since
3.0
val add_seq_with : f:(key->'a->'a->'a)->'at->(key * 'a) Stdlib.Seq.t-> unit
Add the corresponding pairs to the table, using Hashtbl.add. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
add_iter_count tbl i increments the count of each element of i by calling incr. This is useful for counting how many times each element of i occurs.
since
2.8
val add_seq_count : int t->key Stdlib.Seq.t-> unit
add_seq_count tbl seq increments the count of each element of seq by calling incr. This is useful for counting how many times each element of seq occurs. Renamed from of_std_seq_count since 3.0.
of_list l builds a table from the given list l of bindings k_i -> v_i, added in order using add. If a key occurs several times, it will be added several times, and the visible binding will be the last one.
val of_list_with : f:(key->'a->'a->'a)->(key * 'a) list->'at
of_list l builds a table from the given list l of bindings k_i -> v_i. If a key occurs multiple times in the input, the values are combined using f in an unspecified order.
since
3.3
val update : 'at->f:(key->'a option->'a option)->k:key-> unit
update tbl ~f ~k updates key k by calling f k (Some v) if k was mapped to v, or f k None otherwise; if the call returns None then k is removed/stays removed, if the call returns Some v' then the binding k -> v' is inserted using Hashtbl.replace.
get_or_add tbl ~k ~f finds and returns the binding of k in tbl, if it exists. If it does not exist, then f k is called to obtain a new binding v; k -> v is added to tbl and v is returned.
pp ~pp_start ~pp_stop ~pp_sep ~pp arrow pp_k pp_v returns a table printer given a pp_k printer for individual key and a pp_v printer for individual value. pp_start and pp_stop control the opening and closing delimiters, by default print nothing. pp_sep control the separator between binding. pp_arrow control the arrow between the key and value. Renamed from print since 2.0.
since
0.13
\ No newline at end of file
diff --git a/dev/containers/ContainersLabels/Hashtbl/module-type-S/index.html b/dev/containers/ContainersLabels/Hashtbl/module-type-S/index.html
index ac13a67c..f7ec2a0c 100644
--- a/dev/containers/ContainersLabels/Hashtbl/module-type-S/index.html
+++ b/dev/containers/ContainersLabels/Hashtbl/module-type-S/index.html
@@ -1,2 +1,2 @@
-S (containers.ContainersLabels.Hashtbl.S)
\ No newline at end of file
diff --git a/dev/containers/ContainersLabels/Hashtbl/module-type-SeededS/index.html b/dev/containers/ContainersLabels/Hashtbl/module-type-SeededS/index.html
index 86f45d40..310bc883 100644
--- a/dev/containers/ContainersLabels/Hashtbl/module-type-SeededS/index.html
+++ b/dev/containers/ContainersLabels/Hashtbl/module-type-SeededS/index.html
@@ -1,2 +1,2 @@
-SeededS (containers.ContainersLabels.Hashtbl.SeededS)