<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 class methods" rel=Appendix href="index_methods.html"> <link title="Index of classes" rel=Appendix href="index_classes.html"> <link title="Index of class types" rel=Appendix href="index_class_types.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="CamomileLibrary" rel="Chapter" href="CamomileLibrary.html"> <link title="CamomileLibraryDefault" rel="Chapter" href="CamomileLibraryDefault.html"> <link title="CamomileLibraryDyn" rel="Chapter" href="CamomileLibraryDyn.html"><title>CamomileLibrary.Type</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">OOChannel</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">class</span> <span class="keyword">type</span> [<span class="keywordsign">'</span>a] obj_input_channel =<br> <span class="keyword">object</span> <span class="keyword">method</span> close_in : unit <span class="keywordsign">-></span> unit <span class="keyword">method</span> get : unit <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keyword">end</span><br> <span class="keyword">class</span> <span class="keyword">type</span> [<span class="keywordsign">'</span>a] obj_output_channel =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> close_out : unit <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> flush : unit <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> put : <span class="keywordsign">'</span>a <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">class</span> [<span class="keywordsign">'</span>a] channel_of_stream : <span class="keywordsign">'</span>a <span class="constructor">Stream</span>.t <span class="keywordsign">-></span> [<span class="keywordsign">'</span>a] obj_input_channel<br> <span class="keyword">val</span> stream_of_channel :<br> <span class="keywordsign">'</span>a <span class="keywordsign">#</span><span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">OOChannel</span>.obj_input_channel <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Stream</span>.t<br> <span class="keyword">class</span> <span class="keyword">type</span> char_input_channel =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> close_in : unit <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> input : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">end</span><br> <span class="keyword">class</span> <span class="keyword">type</span> char_output_channel =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> close_out : unit <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> flush : unit <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> output : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">end</span><br> <span class="keyword">class</span> char_input_channel_of :<br> char <span class="keywordsign">#</span><span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">OOChannel</span>.obj_input_channel <span class="keywordsign">-></span><br> char_input_channel<br> <span class="keyword">class</span> char_obj_input_channel_of :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">OOChannel</span>.char_input_channel <span class="keywordsign">-></span><br> [char] obj_input_channel<br> <span class="keyword">class</span> char_output_channel_of :<br> char <span class="keywordsign">#</span><span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">OOChannel</span>.obj_output_channel <span class="keywordsign">-></span><br> char_output_channel<br> <span class="keyword">class</span> char_obj_output_channel_of :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">OOChannel</span>.char_output_channel <span class="keywordsign">-></span><br> [char] obj_output_channel<br> <span class="keyword">class</span> of_in_channel : <span class="constructor">Pervasives</span>.in_channel <span class="keywordsign">-></span> char_input_channel<br> <span class="keyword">class</span> of_out_channel : <span class="constructor">Pervasives</span>.out_channel <span class="keywordsign">-></span> char_output_channel<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">UChar</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">exception</span> <span class="constructor">Out_of_range</span><br> <span class="keyword">val</span> char_of : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> char<br> <span class="keyword">val</span> of_char : char <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> code : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> chr : int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">external</span> uint_code : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> int = <span class="string">"%identity"</span><br> <span class="keyword">val</span> chr_of_uint : int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> eq :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> compare :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">type</span> uchar = <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> int_of : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.uchar <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> of_int : int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.uchar<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">USet</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> empty : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> is_empty : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> mem :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> add :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> add_range :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> singleton :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> remove :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> remove_range :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> union :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> inter :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> diff :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> compl : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> compare :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> equal :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> subset :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> from :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> after :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> until :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> before :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> iter :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> iter_range :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fold :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</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><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</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> fold_range :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</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><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</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> for_all :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> exists :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> filter :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> partition :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t * <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> cardinal : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> elements :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t list<br> <span class="keyword">val</span> ranges :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span><br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t * <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t) list<br> <span class="keyword">val</span> min_elt :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> max_elt :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> choose :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> uset_of_iset : <span class="constructor">ISet</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> iset_of_uset : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="constructor">ISet</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">UMap</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">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> is_empty : <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> add :<br> ?eq:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> add_range :<br> ?eq:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> find :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> remove :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> remove_range :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> from :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> after :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> until :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> before :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> mem :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> iter :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> iter_range :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> map :<br> ?eq:(<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> mapi :<br> ?eq:(<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> fold :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <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><br> <span class="keywordsign">'</span>b <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</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> fold_range :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <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><br> <span class="keywordsign">'</span>b <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</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> set_to_map :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> domain :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> map_to_set :<br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keyword">val</span> umap_of_imap : <span class="keywordsign">'</span>a <span class="constructor">IMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t<br> <span class="keyword">val</span> imap_of_umap : <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">IMap</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">UCharTbl</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a tbl<br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t = <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.tbl<br> <span class="keyword">val</span> get :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.tbl <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">Type</span> =<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> elt<br> <span class="keyword">type</span> t =<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Type</span>.elt<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.tbl<br> <span class="keyword">val</span> get :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Type</span>.elt<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.tbl <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Type</span>.elt<br> <span class="keyword">val</span> of_map :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Type</span>.elt <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Type</span>.elt<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Type</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Make</span> :<br> <span class="keyword">functor</span> (<span class="constructor">H</span> : <span class="constructor">Hashtbl</span>.<span class="constructor">HashedType</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">type</span> elt = <span class="constructor">H</span>.t<br> <span class="keyword">type</span> t = elt tbl<br> <span class="keyword">val</span> get : elt tbl <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t <span class="keywordsign">-></span> elt<br> <span class="keyword">val</span> of_map : elt <span class="keywordsign">-></span> elt <span class="constructor">UMap</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Bool</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> get :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Bool</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> of_set :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Bool</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Bits</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> of_map :<br> int <span class="keywordsign">-></span><br> int <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Bits</span>.t<br> <span class="keyword">val</span> get :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Bits</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Bytes</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> of_map :<br> int <span class="keywordsign">-></span><br> int <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Bytes</span>.t<br> <span class="keyword">val</span> get :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Bytes</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Char</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> of_map :<br> char <span class="keywordsign">-></span><br> char <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UMap</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Char</span>.t<br> <span class="keyword">val</span> get :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCharTbl</span>.<span class="constructor">Char</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> char<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">UnicodeString</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">Type</span> =<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> get :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> init :<br> int <span class="keywordsign">-></span><br> (int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t<br> <span class="keyword">val</span> length : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">type</span> index<br> <span class="keyword">val</span> look :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> nth :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index<br> <span class="keyword">val</span> next :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index<br> <span class="keyword">val</span> prev :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index<br> <span class="keyword">val</span> out_of_range :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> iter :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> compare :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> first :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index<br> <span class="keyword">val</span> last :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index<br> <span class="keyword">val</span> move :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index<br> <span class="keyword">val</span> compare_index :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span> int<br> <span class="keyword">module</span> <span class="constructor">Buf</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> buf<br> <span class="keyword">val</span> create :<br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf<br> <span class="keyword">val</span> contents :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t<br> <span class="keyword">val</span> clear :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> reset :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_char :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_string :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_buffer :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">UText</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> mutability = [ <span class="keywordsign">`</span><span class="constructor">Immutable</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Mutable</span> ]<br> <span class="keyword">type</span> <span class="keywordsign">'</span>a text<br> <span class="keyword">type</span> utext = [ <span class="keywordsign">`</span><span class="constructor">Immutable</span> ] <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text<br> <span class="keyword">type</span> ustring = [ <span class="keywordsign">`</span><span class="constructor">Mutable</span> ] <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text<br> <span class="keyword">type</span> t = <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.utext<br> <span class="keyword">val</span> utext_of_ustring :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.ustring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.utext<br> <span class="keyword">val</span> ustring_of_utext :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.utext <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.ustring<br> <span class="keyword">val</span> get :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> set :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.ustring <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> index<br> <span class="keyword">val</span> look :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> nth :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index<br> <span class="keyword">val</span> first :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index<br> <span class="keyword">val</span> last :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index<br> <span class="keyword">val</span> out_of_range :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> compare_index :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> next :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index<br> <span class="keyword">val</span> prev :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index<br> <span class="keyword">val</span> move :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.index<br> <span class="keyword">val</span> length : <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> of_string : string <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.utext<br> <span class="keyword">val</span> init :<br> int <span class="keywordsign">-></span><br> (int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.utext<br> <span class="keyword">val</span> init_ustring :<br> int <span class="keywordsign">-></span><br> (int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.ustring<br> <span class="keyword">val</span> make :<br> int <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.ustring<br> <span class="keyword">val</span> copy :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.ustring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.ustring<br> <span class="keyword">val</span> sub :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text<br> <span class="keyword">val</span> fill :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.ustring <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> blit :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.ustring <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> append :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>b <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text<br> <span class="keyword">val</span> iter :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> compare :<br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>b <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span> int<br> <span class="keyword">module</span> <span class="constructor">Buf</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> buf<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.<span class="constructor">Buf</span>.buf<br> <span class="keyword">val</span> contents :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.t<br> <span class="keyword">val</span> contents_string :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.ustring<br> <span class="keyword">val</span> length : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> clear : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> reset : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_char :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_string :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_buffer :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">XString</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> xstring<br> <span class="keyword">type</span> t = <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring<br> <span class="keyword">val</span> get :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> set :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> length : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> init :<br> int <span class="keywordsign">-></span><br> (int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring<br> <span class="keyword">type</span> index<br> <span class="keyword">val</span> look :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> nth :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index<br> <span class="keyword">val</span> first :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index<br> <span class="keyword">val</span> last :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index<br> <span class="keyword">val</span> out_of_range :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> next :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index<br> <span class="keyword">val</span> prev :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index<br> <span class="keyword">val</span> move :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index<br> <span class="keyword">val</span> compare_index :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.index <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> make :<br> ?bufsize:int <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring<br> <span class="keyword">val</span> clear : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> reset : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> copy :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring<br> <span class="keyword">val</span> sub :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring<br> <span class="keyword">val</span> add_char :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_text :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.text <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_xstring :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> shrink : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> append :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring<br> <span class="keyword">val</span> utext_of :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.t<br> <span class="keyword">val</span> ustring_of :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UText</span>.ustring<br> <span class="keyword">val</span> iter :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.xstring <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> compare :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">module</span> <span class="constructor">Buf</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> buf<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.<span class="constructor">Buf</span>.buf<br> <span class="keyword">val</span> contents :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.t<br> <span class="keyword">val</span> length : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> clear : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> reset : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_char :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_string :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_buffer :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">XString</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">SubText</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">Type</span> =<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> get :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> init :<br> int <span class="keywordsign">-></span><br> (int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t<br> <span class="keyword">val</span> length : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">type</span> index<br> <span class="keyword">val</span> look :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> nth :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index<br> <span class="keyword">val</span> first :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index<br> <span class="keyword">val</span> last :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index<br> <span class="keyword">val</span> next :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index<br> <span class="keyword">val</span> prev :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index<br> <span class="keyword">val</span> move :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index<br> <span class="keyword">val</span> out_of_range :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> compare_index :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> iter :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> compare :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">module</span> <span class="constructor">Buf</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> buf<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf<br> <span class="keyword">val</span> contents :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t<br> <span class="keyword">val</span> clear : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> reset : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_char :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_string :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_buffer :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">type</span> ur_text<br> <span class="keyword">type</span> ur_index<br> <span class="keyword">val</span> refer :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.ur_text <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.ur_index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.ur_index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t<br> <span class="keyword">val</span> excerpt :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.ur_text<br> <span class="keyword">val</span> context :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.ur_text *<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.ur_index *<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.ur_index<br> <span class="keyword">val</span> ur_index_of :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.<span class="constructor">Type</span>.ur_index<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Make</span> :<br> <span class="keyword">functor</span> (<span class="constructor">Text</span> : <span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> get : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> init : int <span class="keywordsign">-></span> (int <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t) <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> length : t <span class="keywordsign">-></span> int<br> <span class="keyword">type</span> index<br> <span class="keyword">val</span> look : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> nth : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> first : t <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> last : t <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> next : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> prev : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> move : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> int <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> out_of_range : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> compare_index : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> index <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> iter : (<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> compare : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">module</span> <span class="constructor">Buf</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> buf<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> buf<br> <span class="keyword">val</span> contents : buf <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> clear : buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> reset : buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_char : buf <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_string : buf <span class="keywordsign">-></span> t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_buffer : buf <span class="keywordsign">-></span> buf <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">type</span> ur_text = <span class="constructor">Text</span>.t<br> <span class="keyword">type</span> ur_index = <span class="constructor">Text</span>.index<br> <span class="keyword">val</span> refer : ur_text <span class="keywordsign">-></span> ur_index <span class="keywordsign">-></span> ur_index <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> excerpt : t <span class="keywordsign">-></span> ur_text<br> <span class="keyword">val</span> context : t <span class="keywordsign">-></span> ur_text * ur_index * ur_index<br> <span class="keyword">val</span> ur_index_of : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> ur_index<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">ULine</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> separator = [ <span class="keywordsign">`</span><span class="constructor">CR</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">CRLF</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">LF</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">LS</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">NEL</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">PS</span> ]<br> <span class="keyword">class</span> input :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">ULine</span>.separator <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keywordsign">#</span><span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">OOChannel</span>.obj_input_channel <span class="keywordsign">-></span><br> [<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t] <span class="constructor">OOChannel</span>.obj_input_channel<br> <span class="keyword">class</span> output :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">ULine</span>.separator <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keywordsign">#</span><span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">OOChannel</span>.obj_output_channel <span class="keywordsign">-></span><br> [<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t] <span class="constructor">OOChannel</span>.obj_output_channel<br> <span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">Type</span> =<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> text<br> <span class="keyword">class</span> input_line :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keywordsign">#</span><span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">OOChannel</span>.obj_input_channel <span class="keywordsign">-></span><br> [<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">ULine</span>.<span class="constructor">Type</span>.text]<br> <span class="constructor">OOChannel</span>.obj_input_channel<br> <span class="keyword">class</span> output_line :<br> ?sp:<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">ULine</span>.separator <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keywordsign">#</span><span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">OOChannel</span>.obj_output_channel <span class="keywordsign">-></span><br> [<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">ULine</span>.<span class="constructor">Type</span>.text]<br> <span class="constructor">OOChannel</span>.obj_output_channel<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Make</span> :<br> <span class="keyword">functor</span> (<span class="constructor">Text</span> : <span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">type</span> text = <span class="constructor">Text</span>.t<br> <span class="keyword">class</span> input_line :<br> <span class="constructor">UChar</span>.t <span class="keywordsign">#</span><span class="constructor">OOChannel</span>.obj_input_channel <span class="keywordsign">-></span><br> [text] <span class="constructor">OOChannel</span>.obj_input_channel<br> <span class="keyword">class</span> output_line :<br> ?sp:separator <span class="keywordsign">-></span><br> <span class="constructor">UChar</span>.t <span class="keywordsign">#</span><span class="constructor">OOChannel</span>.obj_output_channel <span class="keywordsign">-></span><br> [text] <span class="constructor">OOChannel</span>.obj_output_channel<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Locale</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = string<br> <span class="keyword">val</span> read :<br> string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> (<span class="constructor">Pervasives</span>.in_channel <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> contain : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> bool<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">CharEncoding</span> : <span class="constructor">CharEncoding</span>.<span class="constructor">Interface</span><br> <span class="keyword">module</span> <span class="constructor">UTF8</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = string<br> <span class="keyword">exception</span> <span class="constructor">Malformed_code</span><br> <span class="keyword">val</span> validate : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> get :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> init :<br> int <span class="keywordsign">-></span><br> (int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t) <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t<br> <span class="keyword">val</span> length : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">type</span> index = int<br> <span class="keyword">val</span> nth :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index<br> <span class="keyword">val</span> first :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index<br> <span class="keyword">val</span> last :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index<br> <span class="keyword">val</span> look :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> out_of_range :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> compare_index :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> next :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index<br> <span class="keyword">val</span> prev :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index<br> <span class="keyword">val</span> move :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.index<br> <span class="keyword">val</span> iter :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> compare :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">module</span> <span class="constructor">Buf</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> buf = <span class="constructor">Buffer</span>.t<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.<span class="constructor">Buf</span>.buf<br> <span class="keyword">val</span> contents :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t<br> <span class="keyword">val</span> clear : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> reset : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_char :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_string :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_buffer :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF8</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">UTF16</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t =<br> (int, <span class="constructor">Bigarray</span>.int16_unsigned_elt, <span class="constructor">Bigarray</span>.c_layout)<br> <span class="constructor">Bigarray</span>.<span class="constructor">Array1</span>.t<br> <span class="keyword">exception</span> <span class="constructor">Malformed_code</span><br> <span class="keyword">val</span> validate : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> get :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">exception</span> <span class="constructor">Out_of_range</span><br> <span class="keyword">val</span> init :<br> int <span class="keywordsign">-></span><br> (int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t) <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t<br> <span class="keyword">val</span> length : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">type</span> index = int<br> <span class="keyword">val</span> nth :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index<br> <span class="keyword">val</span> first :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index<br> <span class="keyword">val</span> last :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index<br> <span class="keyword">val</span> look :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> out_of_range :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> compare_index :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> next :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index<br> <span class="keyword">val</span> prev :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index<br> <span class="keyword">val</span> move :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.index<br> <span class="keyword">val</span> iter :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> compare :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">module</span> <span class="constructor">Buf</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> buf<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.<span class="constructor">Buf</span>.buf<br> <span class="keyword">val</span> contents :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t<br> <span class="keyword">val</span> clear : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> reset : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_char :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_string :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_buffer :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UTF16</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">UCS4</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t =<br> (int32, <span class="constructor">Bigarray</span>.int32_elt, <span class="constructor">Bigarray</span>.c_layout) <span class="constructor">Bigarray</span>.<span class="constructor">Array1</span>.t<br> <span class="keyword">exception</span> <span class="constructor">Malformed_code</span><br> <span class="keyword">val</span> validate : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> get :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> init :<br> int <span class="keywordsign">-></span><br> (int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t) <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t<br> <span class="keyword">val</span> length : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">type</span> index = int<br> <span class="keyword">val</span> nth :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index<br> <span class="keyword">val</span> first :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index<br> <span class="keyword">val</span> last :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index<br> <span class="keyword">val</span> look :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> out_of_range :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> compare_index :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> next :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index<br> <span class="keyword">val</span> prev :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index<br> <span class="keyword">val</span> move :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.index<br> <span class="keyword">val</span> iter :<br> (<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> compare :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">module</span> <span class="constructor">Buf</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> buf<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.<span class="constructor">Buf</span>.buf<br> <span class="keyword">val</span> contents :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t<br> <span class="keyword">val</span> clear : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> reset : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_char :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_string :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_buffer :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UCS4</span>.<span class="constructor">Buf</span>.buf <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">UPervasives</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> uchar = <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> int_of_uchar : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UPervasives</span>.uchar <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> uchar_of_int : int <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UPervasives</span>.uchar<br> <span class="keyword">val</span> escaped_uchar : <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UPervasives</span>.uchar <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> escaped_utf8 : string <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> printer_utf8 : <span class="constructor">Format</span>.formatter <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> printer_uchar :<br> <span class="constructor">Format</span>.formatter <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UPervasives</span>.uchar <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">URe</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> regexp =<br> [ <span class="keywordsign">`</span><span class="constructor">After</span> <span class="keyword">of</span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.regexp<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Alt</span> <span class="keyword">of</span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.regexp *<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.regexp<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Before</span> <span class="keyword">of</span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.regexp<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">BoS</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">EoS</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Epsilon</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Group</span> <span class="keyword">of</span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.regexp<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">OneChar</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Rep</span> <span class="keyword">of</span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.regexp<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Repn</span> <span class="keyword">of</span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.regexp * int * int option<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Seq</span> <span class="keyword">of</span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.regexp *<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.regexp<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Set</span> <span class="keyword">of</span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">USet</span>.t<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">String</span> <span class="keyword">of</span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">UChar</span>.t list ]<br> <span class="keyword">type</span> match_semantics = [ <span class="keywordsign">`</span><span class="constructor">First</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Longest</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Shortest</span> ]<br> <span class="keyword">val</span> no_group :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.regexp <span class="keywordsign">-></span> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.regexp<br> <span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">Type</span> =<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> text<br> <span class="keyword">type</span> index<br> <span class="keyword">type</span> compiled_regexp<br> <span class="keyword">module</span> <span class="constructor">SubText</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> get : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> init : int <span class="keywordsign">-></span> (int <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t) <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> length : t <span class="keywordsign">-></span> int<br> <span class="keyword">type</span> index<br> <span class="keyword">val</span> look : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> nth : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> first : t <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> last : t <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> next : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> prev : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> move : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> int <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> out_of_range : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> compare_index : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> index <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> iter : (<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> compare : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">module</span> <span class="constructor">Buf</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> buf<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> buf<br> <span class="keyword">val</span> contents : buf <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> clear : buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> reset : buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_char : buf <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_string : buf <span class="keywordsign">-></span> t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_buffer : buf <span class="keywordsign">-></span> buf <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">type</span> ur_text = text<br> <span class="keyword">type</span> ur_index = index<br> <span class="keyword">val</span> refer : ur_text <span class="keywordsign">-></span> ur_index <span class="keywordsign">-></span> ur_index <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> excerpt : t <span class="keywordsign">-></span> ur_text<br> <span class="keyword">val</span> context : t <span class="keywordsign">-></span> ur_text * ur_index * ur_index<br> <span class="keyword">val</span> ur_index_of : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> ur_index<br> <span class="keyword">end</span><br> <span class="keyword">val</span> compile :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.regexp <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.<span class="constructor">Type</span>.compiled_regexp<br> <span class="keyword">val</span> regexp_match :<br> ?sem:<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.match_semantics <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.<span class="constructor">Type</span>.compiled_regexp <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.<span class="constructor">Type</span>.text <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.t option array option<br> <span class="keyword">val</span> string_match :<br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.<span class="constructor">Type</span>.compiled_regexp <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.<span class="constructor">Type</span>.text <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> search_forward :<br> ?sem:<span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.match_semantics <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.<span class="constructor">Type</span>.compiled_regexp <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.<span class="constructor">Type</span>.text <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.<span class="constructor">Type</span>.index <span class="keywordsign">-></span><br> <span class="constructor">CamomileLibrary</span>.<span class="constructor">Type</span>.<span class="constructor">URe</span>.<span class="constructor">Type</span>.<span class="constructor">SubText</span>.t option array option<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Make</span> :<br> <span class="keyword">functor</span> (<span class="constructor">Text</span> : <span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">type</span> text = <span class="constructor">Text</span>.t<br> <span class="keyword">type</span> index = <span class="constructor">Text</span>.index<br> <span class="keyword">type</span> compiled_regexp<br> <span class="keyword">module</span> <span class="constructor">SubText</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> get : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> init : int <span class="keywordsign">-></span> (int <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t) <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> length : t <span class="keywordsign">-></span> int<br> <span class="keyword">type</span> index<br> <span class="keyword">val</span> look : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t<br> <span class="keyword">val</span> nth : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> first : t <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> last : t <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> next : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> prev : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> move : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> int <span class="keywordsign">-></span> index<br> <span class="keyword">val</span> out_of_range : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> compare_index : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> index <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> iter : (<span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> compare : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">module</span> <span class="constructor">Buf</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> buf<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> buf<br> <span class="keyword">val</span> contents : buf <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> clear : buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> reset : buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_char : buf <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_string : buf <span class="keywordsign">-></span> t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_buffer : buf <span class="keywordsign">-></span> buf <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">type</span> ur_text = text<br> <span class="keyword">type</span> ur_index = index<br> <span class="keyword">val</span> refer : ur_text <span class="keywordsign">-></span> ur_index <span class="keywordsign">-></span> ur_index <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> excerpt : t <span class="keywordsign">-></span> ur_text<br> <span class="keyword">val</span> context : t <span class="keywordsign">-></span> ur_text * ur_index * ur_index<br> <span class="keyword">val</span> ur_index_of : t <span class="keywordsign">-></span> index <span class="keywordsign">-></span> ur_index<br> <span class="keyword">end</span><br> <span class="keyword">val</span> compile : regexp <span class="keywordsign">-></span> compiled_regexp<br> <span class="keyword">val</span> regexp_match :<br> ?sem:match_semantics <span class="keywordsign">-></span><br> compiled_regexp <span class="keywordsign">-></span><br> text <span class="keywordsign">-></span> index <span class="keywordsign">-></span> <span class="constructor">SubText</span>.t option array option<br> <span class="keyword">val</span> string_match : compiled_regexp <span class="keywordsign">-></span> text <span class="keywordsign">-></span> index <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> search_forward :<br> ?sem:match_semantics <span class="keywordsign">-></span><br> compiled_regexp <span class="keywordsign">-></span><br> text <span class="keywordsign">-></span> index <span class="keywordsign">-></span> <span class="constructor">SubText</span>.t option array option<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">UCharInfo</span> : <span class="constructor">UCharInfo</span>.<span class="constructor">Type</span><br> <span class="keyword">module</span> <span class="constructor">UNF</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">Type</span> = <span class="constructor">UNF</span>.<span class="constructor">Type</span><br> <span class="keyword">module</span> <span class="constructor">Make</span> :<br> <span class="keyword">functor</span> (<span class="constructor">Text</span> : <span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">type</span> text = <span class="constructor">Text</span>.t<br> <span class="keyword">class</span> nfd :<br> <span class="constructor">UChar</span>.t <span class="keywordsign">#</span><span class="constructor">OOChannel</span>.obj_output_channel <span class="keywordsign">-></span><br> [<span class="constructor">UChar</span>.t] <span class="constructor">OOChannel</span>.obj_output_channel<br> <span class="keyword">class</span> nfc :<br> <span class="constructor">UChar</span>.t <span class="keywordsign">#</span><span class="constructor">OOChannel</span>.obj_output_channel <span class="keywordsign">-></span><br> [<span class="constructor">UChar</span>.t] <span class="constructor">OOChannel</span>.obj_output_channel<br> <span class="keyword">class</span> nfkd :<br> <span class="constructor">UChar</span>.t <span class="keywordsign">#</span><span class="constructor">OOChannel</span>.obj_output_channel <span class="keywordsign">-></span><br> [<span class="constructor">UChar</span>.t] <span class="constructor">OOChannel</span>.obj_output_channel<br> <span class="keyword">class</span> nfkc :<br> <span class="constructor">UChar</span>.t <span class="keywordsign">#</span><span class="constructor">OOChannel</span>.obj_output_channel <span class="keywordsign">-></span><br> [<span class="constructor">UChar</span>.t] <span class="constructor">OOChannel</span>.obj_output_channel<br> <span class="keyword">val</span> nfd : text <span class="keywordsign">-></span> text<br> <span class="keyword">val</span> nfkd : text <span class="keywordsign">-></span> text<br> <span class="keyword">val</span> nfc : text <span class="keywordsign">-></span> text<br> <span class="keyword">val</span> nfkc : text <span class="keywordsign">-></span> text<br> <span class="keyword">module</span> <span class="constructor">NFCBuf</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> buf<br> <span class="keyword">val</span> create : int <span class="keywordsign">-></span> buf<br> <span class="keyword">val</span> contents : buf <span class="keywordsign">-></span> text<br> <span class="keyword">val</span> clear : buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> reset : buf <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_char : buf <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_string : buf <span class="keywordsign">-></span> text <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_buffer : buf <span class="keywordsign">-></span> buf <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">val</span> nfc_append : text <span class="keywordsign">-></span> text <span class="keywordsign">-></span> text<br> <span class="keyword">val</span> put_nfd : <span class="constructor">XString</span>.t <span class="keywordsign">-></span> text <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> put_nfkd : <span class="constructor">XString</span>.t <span class="keywordsign">-></span> text <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> put_nfc : <span class="constructor">XString</span>.t <span class="keywordsign">-></span> text <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> put_nfkc : <span class="constructor">XString</span>.t <span class="keywordsign">-></span> text <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> index = <span class="constructor">Text</span>.index<br> <span class="keyword">val</span> nfd_inc :<br> text <span class="keywordsign">-></span><br> index <span class="keywordsign">-></span> ([ <span class="keywordsign">`</span><span class="constructor">Inc</span> <span class="keyword">of</span> <span class="constructor">UChar</span>.t list * index * <span class="keywordsign">'</span>a lazy_t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a)<br> <span class="keyword">val</span> canon_compare : text <span class="keywordsign">-></span> text <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> nfd_decompose : <span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t list<br> <span class="keyword">val</span> nfkd_decompose : <span class="constructor">UChar</span>.t <span class="keywordsign">-></span> <span class="constructor">UChar</span>.t list<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">UCol</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> variable_option =<br> [ <span class="keywordsign">`</span><span class="constructor">Blanked</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Non_ignorable</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Shift_Trimmed</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Shifted</span> ]<br> <span class="keyword">type</span> precision = [ <span class="keywordsign">`</span><span class="constructor">Primary</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Quaternary</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Secondary</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Tertiary</span> ]<br> <span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">Type</span> = <span class="constructor">UCol</span>.<span class="constructor">Type</span><br> <span class="keyword">module</span> <span class="constructor">Make</span> :<br> <span class="keyword">functor</span> (<span class="constructor">Text</span> : <span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">type</span> text = <span class="constructor">Text</span>.t<br> <span class="keyword">type</span> index = <span class="constructor">Text</span>.index<br> <span class="keyword">val</span> compare :<br> ?locale:string <span class="keywordsign">-></span><br> ?prec:<span class="constructor">UCol</span>.precision <span class="keywordsign">-></span><br> ?variable:<span class="constructor">UCol</span>.variable_option <span class="keywordsign">-></span> text <span class="keywordsign">-></span> text <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> sort_key :<br> ?locale:string <span class="keywordsign">-></span><br> ?prec:<span class="constructor">UCol</span>.precision <span class="keywordsign">-></span><br> ?variable:<span class="constructor">UCol</span>.variable_option <span class="keywordsign">-></span> text <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> compare_with_key :<br> ?locale:string <span class="keywordsign">-></span><br> ?prec:<span class="constructor">UCol</span>.precision <span class="keywordsign">-></span><br> ?variable:<span class="constructor">UCol</span>.variable_option <span class="keywordsign">-></span> string <span class="keywordsign">-></span> text <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> search_with_key :<br> ?locale:string <span class="keywordsign">-></span><br> ?prec:<span class="constructor">UCol</span>.precision <span class="keywordsign">-></span><br> ?variable:<span class="constructor">UCol</span>.variable_option <span class="keywordsign">-></span><br> string <span class="keywordsign">-></span> text <span class="keywordsign">-></span> index <span class="keywordsign">-></span> index * index<br> <span class="keyword">val</span> search :<br> ?locale:string <span class="keywordsign">-></span><br> ?prec:<span class="constructor">UCol</span>.precision <span class="keywordsign">-></span><br> ?variable:<span class="constructor">UCol</span>.variable_option <span class="keywordsign">-></span><br> text <span class="keywordsign">-></span> text <span class="keywordsign">-></span> index <span class="keywordsign">-></span> index * index<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">CaseMap</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">Type</span> = <span class="constructor">CaseMap</span>.<span class="constructor">Type</span><br> <span class="keyword">module</span> <span class="constructor">Make</span> :<br> <span class="keyword">functor</span> (<span class="constructor">Text</span> : <span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">type</span> text = <span class="constructor">Text</span>.t<br> <span class="keyword">val</span> lowercase : ?locale:string <span class="keywordsign">-></span> text <span class="keywordsign">-></span> text<br> <span class="keyword">val</span> uppercase : ?locale:string <span class="keywordsign">-></span> text <span class="keywordsign">-></span> text<br> <span class="keyword">val</span> titlecase : ?locale:string <span class="keywordsign">-></span> text <span class="keywordsign">-></span> text<br> <span class="keyword">val</span> casefolding : text <span class="keywordsign">-></span> text<br> <span class="keyword">val</span> compare_caseless : text <span class="keywordsign">-></span> text <span class="keywordsign">-></span> int<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">UReStr</span> : <span class="constructor">UReStr</span>.<span class="constructor">Interface</span><br> <span class="keyword">module</span> <span class="constructor">StringPrep</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="keyword">type</span> <span class="constructor">Type</span> = <span class="constructor">StringPrep</span>.<span class="constructor">Type</span><br> <span class="keyword">module</span> <span class="constructor">Make</span> :<br> <span class="keyword">functor</span> (<span class="constructor">Text</span> : <span class="constructor">UnicodeString</span>.<span class="constructor">Type</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">type</span> text = <span class="constructor">Text</span>.t<br> <span class="keyword">exception</span> <span class="constructor">Prohibited</span> <span class="keyword">of</span> <span class="constructor">UChar</span>.t<br> <span class="keyword">exception</span> <span class="constructor">Bad_bidi</span><br> <span class="keyword">type</span> profile =<br> [ <span class="keywordsign">`</span><span class="constructor">Iscsi</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Mib</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Nameprep</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Nodeprep</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Resourceprep</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Saslprep</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Trace</span> ]<br> <span class="keyword">val</span> stringprep : profile <span class="keywordsign">-></span> text <span class="keywordsign">-></span> text<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>