<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Reins" rel="Chapter" href="Reins.html"><title>Reins.DoubleList.Make</title> </head> <body> <code class="code"><span class="keyword">functor</span> (<span class="constructor">L</span> : <span class="constructor">Lists</span>.<span class="constructor">ListSig</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> empty : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> is_empty : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> at_front : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> at_back : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> length : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> next_length : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> prev_length : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> rev : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> hd : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> tl : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> pop : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a * <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> last : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> next : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> prev_hd : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> prev_tl : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> prev_pop :<br> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a * <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> prev : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> cons : <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> prev_cons :<br> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> snoc : <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> prev_snoc :<br> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> append :<br> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> splice :<br> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> flatten :<br> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> from_list : <span class="keywordsign">'</span>a list <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> to_list : <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list<br> <span class="keyword">val</span> iter : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fold : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> rev_map :<br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> map :<br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">val</span> to_string : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> string) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> compare :<br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> gen :<br> (?size:int <span class="keywordsign">-></span> <span class="constructor">Random</span>.<span class="constructor">State</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span><br> ?size:int <span class="keywordsign">-></span> <span class="constructor">Random</span>.<span class="constructor">State</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Reins</span>.<span class="constructor">DoubleList</span>.<span class="constructor">Make</span>.t<br> <span class="keyword">type</span> <span class="keywordsign">'</span>a list_ = <span class="keywordsign">'</span>a t<br> <span class="keyword">type</span> <span class="keywordsign">'</span>a cursor = <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> to_cursor : <span class="keywordsign">'</span>a list_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>a cursor<br> <span class="keyword">val</span> from_cursor : <span class="keywordsign">'</span>a cursor <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list_<br> <span class="keyword">val</span> at_front : <span class="keywordsign">'</span>a cursor <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> at_back : <span class="keywordsign">'</span>a cursor <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> move_next : <span class="keywordsign">'</span>a cursor <span class="keywordsign">-></span> <span class="keywordsign">'</span>a cursor<br> <span class="keyword">val</span> move_prev : <span class="keywordsign">'</span>a cursor <span class="keywordsign">-></span> <span class="keywordsign">'</span>a cursor<br> <span class="keyword">val</span> goto_front : <span class="keywordsign">'</span>a cursor <span class="keywordsign">-></span> <span class="keywordsign">'</span>a cursor<br> <span class="keyword">val</span> goto_back : <span class="keywordsign">'</span>a cursor <span class="keywordsign">-></span> <span class="keywordsign">'</span>a cursor<br> <span class="keyword">val</span> value : <span class="keywordsign">'</span>a cursor <span class="keywordsign">-></span> <span class="keywordsign">'</span>a option<br> <span class="keyword">val</span> list : <span class="keywordsign">'</span>a cursor <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list_<br> <span class="keyword">val</span> replace_list : <span class="keywordsign">'</span>a list_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>a cursor <span class="keywordsign">-></span> <span class="keywordsign">'</span>a cursor<br> <span class="keyword">end</span></code></body></html>