Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file dlist_itf.ml
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859moduletypeS=sig(** A ['a t] is a Dlist containing elements of type ['a]. A Dlist, short for double-ended
list, is a purely functional ordered list of elements that can be accessed both from
the front and the back. *)type'at(** A name for the datatype, there are different implementations of
this interface, you can check this name to identify which implementation
you are using. *)valname:string(** An empty Dlist, contains no elements. *)valempty:'at(** [is_empty t] is true iff there are no elements in [t]. *)valis_empty:'at->bool(** [map f t] applies a function to each element of t, creating a new Dlist with the results. *)valmap:('a->'b)->'at->'bt(** Creates a Dlist containing a single element. *)valsingleton:'a->'at(** [size t] returns the number of elements in [t]. This operation is O(1). *)valsize:'at->int(** [push el t] Adds an element to the front of [t]. *)valpush:'a->'at->'at(** [pop el t] Removes an element from the front of t.*)valpop:'at->('a*'at)option(** [push_end el t] Adds an element to the end of [t]. *)valpush_end:'a->'at->'at(** [pop_end el t] Removes an element from the end of [t]. *)valpop_end:'at->('a*'at)option(** [append s1 s2] Creates Dlist that contains all elements of [s1]
followed by all elements of [s2]. *)valappend:'at->'at->'at(** [of_list elements] Creates a [Dlist] from the elements of the list. The front
of the list will become the front ot the [Dlist]. The first element you [pop]
from the [Dlist] will be the first element in the list.*)valof_list:'alist->'at(** Converts Dlist into a string revealing its internal structure. Useful
for debugging and testing. *)valto_string:('a->string)->'at->string(** [get i s] finds element at index i from the front.
For example [get 0 s] is equivalent [pop s] *)valget:int->'at->'a(** [to_list s] converts a Dlist into a list by popping all elements from the front. *)valto_list:'at->'alistend