sig
module Make :
functor (L : Lists.ListSig) ->
sig
type 'a t
val empty : 'a Reins.DoubleList.Make.t
val is_empty : 'a Reins.DoubleList.Make.t -> bool
val at_front : 'a t -> bool
val at_back : 'a t -> bool
val length : 'a Reins.DoubleList.Make.t -> int
val next_length : 'a Reins.DoubleList.Make.t -> int
val prev_length : 'a Reins.DoubleList.Make.t -> int
val rev : 'a Reins.DoubleList.Make.t -> 'a Reins.DoubleList.Make.t
val hd : 'a Reins.DoubleList.Make.t -> 'a
val tl : 'a Reins.DoubleList.Make.t -> 'a Reins.DoubleList.Make.t
val pop :
'a Reins.DoubleList.Make.t -> 'a * 'a Reins.DoubleList.Make.t
val last : 'a Reins.DoubleList.Make.t -> 'a
val next : 'a Reins.DoubleList.Make.t -> 'a Reins.DoubleList.Make.t
val prev_hd : 'a Reins.DoubleList.Make.t -> 'a
val prev_tl :
'a Reins.DoubleList.Make.t -> 'a Reins.DoubleList.Make.t
val prev_pop :
'a Reins.DoubleList.Make.t -> 'a * 'a Reins.DoubleList.Make.t
val prev : 'a Reins.DoubleList.Make.t -> 'a Reins.DoubleList.Make.t
val cons :
'a -> 'a Reins.DoubleList.Make.t -> 'a Reins.DoubleList.Make.t
val prev_cons :
'a -> 'a Reins.DoubleList.Make.t -> 'a Reins.DoubleList.Make.t
val snoc :
'a -> 'a Reins.DoubleList.Make.t -> 'a Reins.DoubleList.Make.t
val prev_snoc :
'a -> 'a Reins.DoubleList.Make.t -> 'a Reins.DoubleList.Make.t
val append :
'a Reins.DoubleList.Make.t ->
'a Reins.DoubleList.Make.t -> 'a Reins.DoubleList.Make.t
val splice :
'a Reins.DoubleList.Make.t ->
'a Reins.DoubleList.Make.t -> 'a Reins.DoubleList.Make.t
val flatten :
'a Reins.DoubleList.Make.t Reins.DoubleList.Make.t ->
'a Reins.DoubleList.Make.t
val from_list : 'a list -> 'a Reins.DoubleList.Make.t
val to_list : 'a Reins.DoubleList.Make.t -> 'a list
val iter : ('a -> unit) -> 'a Reins.DoubleList.Make.t -> unit
val fold : ('a -> 'b -> 'a) -> 'a -> 'b Reins.DoubleList.Make.t -> 'a
val rev_map :
('a -> 'b) ->
'a Reins.DoubleList.Make.t -> 'b Reins.DoubleList.Make.t
val map :
('a -> 'b) ->
'a Reins.DoubleList.Make.t -> 'b Reins.DoubleList.Make.t
val to_string :
('a -> string) -> 'a Reins.DoubleList.Make.t -> string
val compare :
('a -> 'a -> int) ->
'a Reins.DoubleList.Make.t -> 'a Reins.DoubleList.Make.t -> int
val gen :
(?size:int -> Random.State.t -> 'a) ->
?size:int -> Random.State.t -> 'a Reins.DoubleList.Make.t
type 'a list_ = 'a t
type 'a cursor = 'a t
val to_cursor : 'a list_ -> 'a cursor
val from_cursor : 'a cursor -> 'a list_
val at_front : 'a cursor -> bool
val at_back : 'a cursor -> bool
val move_next : 'a cursor -> 'a cursor
val move_prev : 'a cursor -> 'a cursor
val goto_front : 'a cursor -> 'a cursor
val goto_back : 'a cursor -> 'a cursor
val value : 'a cursor -> 'a option
val list : 'a cursor -> 'a list_
val replace_list : 'a list_ -> 'a cursor -> 'a cursor
end
end