package core-and-more

  1. Overview
  2. Docs
type key = C.t
val compare_key : key -> key -> Ppx_deriving_runtime.int
val equal_key : key -> key -> Ppx_deriving_runtime.bool
val hash_fold_key : Base.Hash.state -> key -> Base.Hash.state
val hash_key : key -> Base.Hash.hash_value
type value = unit
val compare_value : value -> value -> Ppx_deriving_runtime.int
val equal_value : value -> value -> Ppx_deriving_runtime.bool
val hash_fold_value : Base.Hash.state -> value -> Base.Hash.state
val hash_value : value -> Base.Hash.hash_value
type pair = key * value
val compare_pair : pair -> pair -> Ppx_deriving_runtime.int
val equal_pair : pair -> pair -> Ppx_deriving_runtime.bool
val hash_fold_pair : Base.Hash.state -> pair -> Base.Hash.state
val hash_pair : pair -> Base.Hash.hash_value
type t =
  1. | Leaf
  2. | Two of t * pair * t
  3. | Three of t * pair * t * pair * t
val hash_fold_t : Base.Hash.state -> t -> Base.Hash.state
val hash : t -> Base.Hash.hash_value
type kvp_list = (C.t * unit) list
val show_kvp_list : kvp_list -> Ppx_deriving_runtime.string
type kicked =
  1. | Up of t * pair * t
  2. | Done of t
type hole =
  1. | Hole of pair option * t
  2. | Absorbed of pair option * t
type direction2 =
  1. | Left2
  2. | Right2
type direction3 =
  1. | Left3
  2. | Mid3
  3. | Right3
val empty : t
val fold : (key -> value -> 'a -> 'a) -> 'a -> t -> 'a
val map_values : f:(value -> value) -> t -> t
val insert_upward_two : pair -> t -> t -> pair -> t -> kicked
val insert_upward_three : pair -> t -> t -> pair -> pair -> t -> t -> kicked
val insert_downward : (value -> value -> value) -> t -> key -> value -> kicked * bool
val insert_downward_two : (value -> value -> value) -> pair -> pair -> t -> t -> kicked * bool
val insert_downward_three : (value -> value -> value) -> pair -> pair -> pair -> t -> t -> t -> kicked * bool
val insert_or_combine : combiner:(value -> value -> value) -> t -> key -> value -> t * bool
val insert : t -> key -> value -> t
val insert_and_new : t -> key -> value -> t * bool
val remove_upward_two : pair -> pair option -> t -> t -> direction2 -> hole
val remove_upward_three : pair -> pair -> pair option -> t -> t -> t -> direction3 -> hole
val remove_downward : (value -> value option) -> t -> key -> hole
val remove_downward_two : (value -> value option) -> key -> pair -> t -> t -> hole
val remove_downward_three : (value -> value option) -> key -> pair -> pair -> t -> t -> t -> hole
val remove_min : t -> hole
val remove_or_update_and_retrieve_old : updater:(value -> value option) -> t -> key -> value option * t
val remove_or_update_and_retrieve_old_exn : updater:(value -> value option) -> t -> key -> value * t
val remove_or_update : updater:(value -> value option) -> t -> key -> t
val remove : t -> key -> t
val update : updater:(value -> value) -> t -> key -> t
val lookup : t -> key -> value option
val lookup_default : default:value -> t -> key -> value
val lookup_exn : t -> key -> value
val member : t -> key -> bool
val choose : t -> (key * value * t) option
val from_kvp_list : (key * value) list -> t
val singleton : key -> value -> t
val is_empty : t -> bool
val as_kvp_list : t -> (key * value) list
val key_list : t -> key list
val value_list : t -> value list
val compare : t -> t -> int
val equal : t -> t -> bool
val merge : combiner:(value -> value -> 'a) -> only_d1_fn:(value -> 'a) -> only_d2_fn:(value -> 'a) -> t -> t -> (key * 'a) list
val merge_to_dict : ?only_d1_fn:(value -> value) -> ?only_d2_fn:(value -> value) -> combiner:(value -> value -> value) -> t -> t -> t
val max_key : t -> key option
val max_key_exn : t -> key
val size : t -> int
val first : f:(key -> value -> bool) -> t -> (key * value) option
val first_exn : f:(key -> value -> bool) -> t -> key * value
val exists : f:(key -> value -> bool) -> t -> bool
val for_all : f:(key -> value -> bool) -> t -> bool