<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="Zed_utf8" rel="Chapter" href="Zed_utf8.html"> <link title="Zed_rope" rel="Chapter" href="Zed_rope.html"> <link title="Zed_edit" rel="Chapter" href="Zed_edit.html"> <link title="Zed_cursor" rel="Chapter" href="Zed_cursor.html"> <link title="Zed_lines" rel="Chapter" href="Zed_lines.html"> <link title="Zed_re" rel="Chapter" href="Zed_re.html"> <link title="Zed_input" rel="Chapter" href="Zed_input.html"> <link title="Zed_macro" rel="Chapter" href="Zed_macro.html"><title>Zed_utf8</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">type</span> t = string<br> <span class="keyword">exception</span> <span class="constructor">Invalid</span> <span class="keyword">of</span> string * string<br> <span class="keyword">exception</span> <span class="constructor">Out_of_bounds</span><br> <span class="keyword">type</span> check_result = <span class="constructor">Correct</span> <span class="keyword">of</span> int <span class="keywordsign">|</span> <span class="constructor">Message</span> <span class="keyword">of</span> string<br> <span class="keyword">val</span> check : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.check_result<br> <span class="keyword">val</span> validate : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> next_error : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int * int * string<br> <span class="keyword">val</span> singleton : <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> make : int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> init : int <span class="keywordsign">-></span> (int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> rev_init : int <span class="keywordsign">-></span> (int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> length : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> compare : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> get : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> sub : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> break : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t * <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> before : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> after : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> insert : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> remove : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> replace : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> rev : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> concat : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t list <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> rev_concat : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t list <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> explode : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t list<br> <span class="keyword">val</span> rev_explode : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t list<br> <span class="keyword">val</span> implode : <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t list <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> rev_implode : <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t list <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> iter : (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> rev_iter : (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fold : (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> rev_fold :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> map :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t) <span class="keywordsign">-></span><br> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> rev_map :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t) <span class="keywordsign">-></span><br> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> map_concat :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> rev_map_concat :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> filter : (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> rev_filter :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> filter_map :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t option) <span class="keywordsign">-></span><br> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> rev_filter_map :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t option) <span class="keywordsign">-></span><br> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> filter_map_concat :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t option) <span class="keywordsign">-></span><br> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> rev_filter_map_concat :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t option) <span class="keywordsign">-></span><br> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> for_all : (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> exists : (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> count : (<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> contains : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> starts_with : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> ends_with : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> strip :<br> ?predicate:(<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> lstrip :<br> ?predicate:(<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> rstrip :<br> ?predicate:(<span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> lchop : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> rchop : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> add : <span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> escaped_char : <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> add_escaped_char : <span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> escaped : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> add_escaped : <span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> escaped_string :<br> <span class="constructor">CamomileLibraryDyn</span>.<span class="constructor">Camomile</span>.<span class="constructor">CharEncoding</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Zed_utf8</span>.t<br> <span class="keyword">val</span> add_escaped_string :<br> <span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibraryDyn</span>.<span class="constructor">Camomile</span>.<span class="constructor">CharEncoding</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> next : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> prev : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> extract : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> extract_next : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t * int<br> <span class="keyword">val</span> extract_prev : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t * int<br> <span class="keyword">val</span> unsafe_next : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> unsafe_prev : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> unsafe_extract : <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> unsafe_extract_next :<br> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t * int<br> <span class="keyword">val</span> unsafe_extract_prev :<br> <span class="constructor">Zed_utf8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">UChar</span>.t * int<br> <span class="keyword">end</span></code></body></html>