<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.PatriciaMap.GenKeyMap</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t<br> <span class="keyword">type</span> key = int<br> <span class="keyword">type</span> <span class="keywordsign">'</span>a elt = <span class="keywordsign">'</span>a<br> <span class="keyword">type</span> <span class="keywordsign">'</span>a cursor<br> <span class="keyword">type</span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) result<br> <span class="keyword">type</span> <span class="keywordsign">'</span>a key_ = key<br> <span class="keyword">type</span> <span class="keywordsign">'</span>a elt_ = <span class="keywordsign">'</span>a<br> <span class="keyword">type</span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map = <span class="keywordsign">'</span>b t<br> <span class="keyword">type</span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b, <span class="keywordsign">'</span>c) result_ = (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>c) result<br> <span class="keyword">val</span> empty : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map<br> <span class="keyword">val</span> is_empty : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> mem : <span class="keywordsign">'</span>a key_ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (bool, <span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) result_<br> <span class="keyword">val</span> add : <span class="keywordsign">'</span>a key_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map<br> <span class="keyword">val</span> singleton : <span class="keywordsign">'</span>a key_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map<br> <span class="keyword">val</span> remove : <span class="keywordsign">'</span>a key_ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map<br> <span class="keyword">val</span> find : <span class="keywordsign">'</span>a key_ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>b elt_, <span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) result_<br> <span class="keyword">val</span> min_key : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a key_, <span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) result_<br> <span class="keyword">val</span> max_key : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a key_, <span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) result_<br> <span class="keyword">val</span> min_keyval : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a key_ * <span class="keywordsign">'</span>b elt_, <span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) result_<br> <span class="keyword">val</span> max_keyval : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a key_ * <span class="keywordsign">'</span>b elt_, <span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) result_<br> <span class="keyword">val</span> cardinal : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> iter : (<span class="keywordsign">'</span>a key_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_ <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <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 key_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>c elt_ <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="keywordsign">'</span>c) map <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> map : (<span class="keywordsign">'</span>a elt_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_) <span class="keywordsign">-></span> (<span class="keywordsign">'</span>c, <span class="keywordsign">'</span>a) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>c, <span class="keywordsign">'</span>b) map<br> <span class="keyword">val</span> mapi : (<span class="keywordsign">'</span>a key_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>c elt_) <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>c) map<br> <span class="keyword">val</span> union :<br> (<span class="keywordsign">'</span>a key_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map<br> <span class="keyword">val</span> inter :<br> (<span class="keywordsign">'</span>a key_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map<br> <span class="keyword">val</span> diff :<br> (<span class="keywordsign">'</span>a key_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>b elt_ <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map<br> <span class="keyword">val</span> well_formed : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> of_result : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b, <span class="keywordsign">'</span>c) result_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">type</span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_ = <span class="keywordsign">'</span>b cursor<br> <span class="keyword">val</span> to_cursor : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_<br> <span class="keyword">val</span> from_cursor : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) map<br> <span class="keyword">val</span> at_top : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_ <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> at_left : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_ <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> at_right : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_ <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> move_up : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_<br> <span class="keyword">val</span> move_down_left : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_<br> <span class="keyword">val</span> move_down_right : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_<br> <span class="keyword">val</span> went_left : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_ <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> went_right : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_ <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> has_value : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_ <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> get_value : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) cursor_ <span class="keywordsign">-></span> <span class="keywordsign">'</span>a key_ * <span class="keywordsign">'</span>b elt_<br> <span class="keyword">val</span> compare_keys : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> compare : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> int) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> int<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 t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> gen2 :<br> (?size:int <span class="keywordsign">-></span> <span class="constructor">Random</span>.<span class="constructor">State</span>.t <span class="keywordsign">-></span> key) <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="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 t<br> <span class="keyword">val</span> gen1 :<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 t<br> <span class="keyword">end</span></code></body></html>