grenier

Collection of algorithms (HyperLogLog, order maintenance, ...)
IN THIS PACKAGE
Module Trope
type 'a t
val create : unit -> 'a t
val clear : 'a t -> 'a t
val is_empty : 'a t -> bool
val remove : ?left_of:unit -> 'a t -> at:int -> len:int -> 'a t
val insert : ?left_of:unit -> 'a t -> at:int -> len:int -> 'a t
type cursor
val member : 'a t -> cursor -> bool
val find : 'a t -> cursor -> 'a
val compare : cursor -> cursor -> int
val position : 'a t -> cursor -> int
val put_cursor : 'a t -> at:int -> 'a -> 'a t * cursor
val put_left : 'a t -> cursor -> 'a -> 'a t
val put_right : 'a t -> cursor -> 'a -> 'a t
val rem_cursor : 'a t -> cursor -> 'a t
val cursor_after : cursor -> cursor
val cursor_before : cursor -> cursor
val cursor_at_origin : 'a t -> cursor
val remove_between : 'a t -> cursor -> cursor -> 'a t
val remove_before : 'a t -> cursor -> int -> 'a t
val remove_after : 'a t -> cursor -> int -> 'a t
val insert_before : 'a t -> cursor -> int -> 'a t
val insert_after : 'a t -> cursor -> int -> 'a t
val find_before : 'a t -> int -> (cursor * 'a) option
val find_after : 'a t -> int -> (cursor * 'a) option
val seek_before : 'a t -> cursor -> (cursor * 'a) option
val seek_after : 'a t -> cursor -> (cursor * 'a) option
val to_list : 'a t -> (int * cursor * 'a) list