Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 535a7a10fe62254ee9ca7e6375f081a9 > files > 412

ocaml-ocamlnet-2.2.7-4mdv2008.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<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 rel="next" href="Netulex.Ulexing.html">
<link rel="Up" href="Netulex.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 attributes" rel=Appendix href="index_attributes.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="Uq_gtk" rel="Chapter" href="Uq_gtk.html">
<link title="Equeue" rel="Chapter" href="Equeue.html">
<link title="Unixqueue" rel="Chapter" href="Unixqueue.html">
<link title="Uq_engines" rel="Chapter" href="Uq_engines.html">
<link title="Uq_socks5" rel="Chapter" href="Uq_socks5.html">
<link title="Unixqueue_mt" rel="Chapter" href="Unixqueue_mt.html">
<link title="Equeue_intro" rel="Chapter" href="Equeue_intro.html">
<link title="Uq_ssl" rel="Chapter" href="Uq_ssl.html">
<link title="Uq_tcl" rel="Chapter" href="Uq_tcl.html">
<link title="Netcgi_common" rel="Chapter" href="Netcgi_common.html">
<link title="Netcgi" rel="Chapter" href="Netcgi.html">
<link title="Netcgi_ajp" rel="Chapter" href="Netcgi_ajp.html">
<link title="Netcgi_scgi" rel="Chapter" href="Netcgi_scgi.html">
<link title="Netcgi_cgi" rel="Chapter" href="Netcgi_cgi.html">
<link title="Netcgi_fcgi" rel="Chapter" href="Netcgi_fcgi.html">
<link title="Netcgi_dbi" rel="Chapter" href="Netcgi_dbi.html">
<link title="Netcgi1_compat" rel="Chapter" href="Netcgi1_compat.html">
<link title="Netcgi_test" rel="Chapter" href="Netcgi_test.html">
<link title="Netcgi_porting" rel="Chapter" href="Netcgi_porting.html">
<link title="Netcgi_plex" rel="Chapter" href="Netcgi_plex.html">
<link title="Http_client" rel="Chapter" href="Http_client.html">
<link title="Telnet_client" rel="Chapter" href="Telnet_client.html">
<link title="Ftp_data_endpoint" rel="Chapter" href="Ftp_data_endpoint.html">
<link title="Ftp_client" rel="Chapter" href="Ftp_client.html">
<link title="Nethttpd_types" rel="Chapter" href="Nethttpd_types.html">
<link title="Nethttpd_kernel" rel="Chapter" href="Nethttpd_kernel.html">
<link title="Nethttpd_reactor" rel="Chapter" href="Nethttpd_reactor.html">
<link title="Nethttpd_engine" rel="Chapter" href="Nethttpd_engine.html">
<link title="Nethttpd_services" rel="Chapter" href="Nethttpd_services.html">
<link title="Nethttpd_plex" rel="Chapter" href="Nethttpd_plex.html">
<link title="Nethttpd_intro" rel="Chapter" href="Nethttpd_intro.html">
<link title="Netplex_types" rel="Chapter" href="Netplex_types.html">
<link title="Netplex_mp" rel="Chapter" href="Netplex_mp.html">
<link title="Netplex_mt" rel="Chapter" href="Netplex_mt.html">
<link title="Netplex_log" rel="Chapter" href="Netplex_log.html">
<link title="Netplex_controller" rel="Chapter" href="Netplex_controller.html">
<link title="Netplex_container" rel="Chapter" href="Netplex_container.html">
<link title="Netplex_sockserv" rel="Chapter" href="Netplex_sockserv.html">
<link title="Netplex_workload" rel="Chapter" href="Netplex_workload.html">
<link title="Netplex_main" rel="Chapter" href="Netplex_main.html">
<link title="Netplex_config" rel="Chapter" href="Netplex_config.html">
<link title="Netplex_kit" rel="Chapter" href="Netplex_kit.html">
<link title="Rpc_netplex" rel="Chapter" href="Rpc_netplex.html">
<link title="Netplex_cenv" rel="Chapter" href="Netplex_cenv.html">
<link title="Netplex_intro" rel="Chapter" href="Netplex_intro.html">
<link title="Netshm" rel="Chapter" href="Netshm.html">
<link title="Netshm_data" rel="Chapter" href="Netshm_data.html">
<link title="Netshm_hashtbl" rel="Chapter" href="Netshm_hashtbl.html">
<link title="Netshm_array" rel="Chapter" href="Netshm_array.html">
<link title="Netshm_intro" rel="Chapter" href="Netshm_intro.html">
<link title="Netconversion" rel="Chapter" href="Netconversion.html">
<link title="Netchannels" rel="Chapter" href="Netchannels.html">
<link title="Netstream" rel="Chapter" href="Netstream.html">
<link title="Mimestring" rel="Chapter" href="Mimestring.html">
<link title="Netmime" rel="Chapter" href="Netmime.html">
<link title="Netsendmail" rel="Chapter" href="Netsendmail.html">
<link title="Neturl" rel="Chapter" href="Neturl.html">
<link title="Netaddress" rel="Chapter" href="Netaddress.html">
<link title="Netbuffer" rel="Chapter" href="Netbuffer.html">
<link title="Netdate" rel="Chapter" href="Netdate.html">
<link title="Netencoding" rel="Chapter" href="Netencoding.html">
<link title="Netulex" rel="Chapter" href="Netulex.html">
<link title="Netaccel" rel="Chapter" href="Netaccel.html">
<link title="Netaccel_link" rel="Chapter" href="Netaccel_link.html">
<link title="Nethtml" rel="Chapter" href="Nethtml.html">
<link title="Netstring_str" rel="Chapter" href="Netstring_str.html">
<link title="Netstring_pcre" rel="Chapter" href="Netstring_pcre.html">
<link title="Netstring_mt" rel="Chapter" href="Netstring_mt.html">
<link title="Netmappings" rel="Chapter" href="Netmappings.html">
<link title="Netaux" rel="Chapter" href="Netaux.html">
<link title="Nethttp" rel="Chapter" href="Nethttp.html">
<link title="Netchannels_tut" rel="Chapter" href="Netchannels_tut.html">
<link title="Netmime_tut" rel="Chapter" href="Netmime_tut.html">
<link title="Netsendmail_tut" rel="Chapter" href="Netsendmail_tut.html">
<link title="Netulex_tut" rel="Chapter" href="Netulex_tut.html">
<link title="Neturl_tut" rel="Chapter" href="Neturl_tut.html">
<link title="Netsys" rel="Chapter" href="Netsys.html">
<link title="Netpop" rel="Chapter" href="Netpop.html">
<link title="Rpc_auth_dh" rel="Chapter" href="Rpc_auth_dh.html">
<link title="Rpc_key_service" rel="Chapter" href="Rpc_key_service.html">
<link title="Rpc_time" rel="Chapter" href="Rpc_time.html">
<link title="Rpc_auth_local" rel="Chapter" href="Rpc_auth_local.html">
<link title="Rtypes" rel="Chapter" href="Rtypes.html">
<link title="Xdr" rel="Chapter" href="Xdr.html">
<link title="Rpc" rel="Chapter" href="Rpc.html">
<link title="Rpc_program" rel="Chapter" href="Rpc_program.html">
<link title="Rpc_portmapper_aux" rel="Chapter" href="Rpc_portmapper_aux.html">
<link title="Rpc_packer" rel="Chapter" href="Rpc_packer.html">
<link title="Rpc_transport" rel="Chapter" href="Rpc_transport.html">
<link title="Rpc_client" rel="Chapter" href="Rpc_client.html">
<link title="Rpc_simple_client" rel="Chapter" href="Rpc_simple_client.html">
<link title="Rpc_portmapper_clnt" rel="Chapter" href="Rpc_portmapper_clnt.html">
<link title="Rpc_portmapper" rel="Chapter" href="Rpc_portmapper.html">
<link title="Rpc_server" rel="Chapter" href="Rpc_server.html">
<link title="Rpc_auth_sys" rel="Chapter" href="Rpc_auth_sys.html">
<link title="Rpc_intro" rel="Chapter" href="Rpc_intro.html">
<link title="Rpc_mapping_ref" rel="Chapter" href="Rpc_mapping_ref.html">
<link title="Rpc_ssl" rel="Chapter" href="Rpc_ssl.html">
<link title="Rpc_xti_client" rel="Chapter" href="Rpc_xti_client.html">
<link title="Shell_sys" rel="Chapter" href="Shell_sys.html">
<link title="Shell" rel="Chapter" href="Shell.html">
<link title="Shell_uq" rel="Chapter" href="Shell_uq.html">
<link title="Shell_mt" rel="Chapter" href="Shell_mt.html">
<link title="Shell_intro" rel="Chapter" href="Shell_intro.html">
<link title="Netsmtp" rel="Chapter" href="Netsmtp.html"><title>Ocamlnet 2 Reference Manual : Netulex.ULB</title>
</head>
<body>
<div class="navbar">&nbsp;<a href="Netulex.html">Up</a>
&nbsp;<a href="Netulex.Ulexing.html">Next</a>
</div>
<center><h1>Module <a href="type_Netulex.ULB.html">Netulex.ULB</a></h1></center>
<br>
<pre><span class="keyword">module</span> ULB: <code class="code">sig</code> <a href="Netulex.ULB.html">..</a> <code class="code">end</code></pre><hr width="100%">
<br>
This module provides the <code class="code">unicode_lexbuf</code> record with
 access functions. In this record, the data is available
 in two forms: As an array of Unicode code points
 <code class="code">ulb_chars</code>, and as string of encoded chars <code class="code">ulb_rawbuf</code>.
 Both buffers are synchronised by <code class="code">ulb_chars_pos</code>. This
 array stores where every character of <code class="code">ulb_chars</code> can be
 found in <code class="code">ulb_rawbuf</code>.<br>
<br><code><span class="keyword">type</span> <a name="TYPEunicode_lexbuf"></a><code class="type"></code>unicode_lexbuf = private {</code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_encoding&nbsp;: <code class="type"><a href="Netconversion.html#TYPEencoding">Netconversion.encoding</a></code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >The character encoding of <code class="code">ulb_rawbuf</code></td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_encoding_start&nbsp;: <code class="type">int</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >The first character position to which <code class="code">ulb_encoding</code>
 applies (the encoding of earlier positions is
 lost)</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_rawbuf&nbsp;: <code class="type">string</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >The encoded string to analyse</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_rawbuf_len&nbsp;: <code class="type">int</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >The filled part of <code class="code">ulb_rawbuf</code></td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_rawbuf_end&nbsp;: <code class="type">int</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >The analysed part of <code class="code">ulb_rawbuf</code>. We have always
 <code class="code">ulb_rawbuf_end &lt;= ulb_rawbuf_len</code>. The analysed part
 may be shorter than the filled part because there is
 not enough space in <code class="code">ulb_chars</code>, or because the filled
 part ends with an incomplete multi-byte character</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_rawbuf_const&nbsp;: <code class="type">bool</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >Whether <code class="code">ulb_rawbuf</code> is considered as a constant. If
 <code class="code">true</code>, it is never blitted.</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_chars&nbsp;: <code class="type">int array</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >The analysed part of <code class="code">ulb_rawbuf</code> as array of Unicode
 code points. Only the positions 0 to <code class="code">ulb_chars_len-1</code>
 of the array are filled.</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_chars_pos&nbsp;: <code class="type">int array</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >For every analysed character this array stores the
 byte position where the character begins in <code class="code">ulb_rawbuf</code>.
 In addition, the array contains at <code class="code">ulb_chars_len</code> the
 value of <code class="code">ulb_rawbuf_end</code>.
<p>

 This array is one element longer than <code class="code">ulb_chars</code>.</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_chars_len&nbsp;: <code class="type">int</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >The filled part of <code class="code">ulb_chars</code></td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_eof&nbsp;: <code class="type">bool</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >Whether EOF has been seen</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_refill&nbsp;: <code class="type">string -> int -> int -> int</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >The refill function</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_enc_change_hook&nbsp;: <code class="type"><a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a> -> unit</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >This function is called when the encoding changes</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span class="keyword">mutable&nbsp;</span>ulb_cursor&nbsp;: <code class="type"><a href="Netconversion.html#TYPEcursor">Netconversion.cursor</a></code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >Internally used by the implementation</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr></table>
}


<pre><span class="keyword">val</span> <a name="VALfrom_function"></a>from_function : <code class="type">?raw_size:int -><br>       ?char_size:int -><br>       ?enc_change_hook:(<a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a> -> unit) -><br>       refill:(string -> int -> int -> int) -><br>       <a href="Netconversion.html#TYPEencoding">Netconversion.encoding</a> -> <a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a></code></pre><div class="info">
Creates a <code class="code">unicode_lexbuf</code> to analyse strings of the 
 passed <code class="code">encoding</code> coming from the <code class="code">refill</code> function.
<p>

<br>
</div>
<div class="param_info"><code class="code">raw_size</code> : The initial size for <code class="code">ulb_rawbuf</code>. Defaults to 512</div>
<div class="param_info"><code class="code">char_size</code> : The initial size for <code class="code">ulb_chars</code>. Defaults to 256</div>
<div class="param_info"><code class="code">enc_change_hook</code> : This function is called when the encoding
   is changed, either by this module, or by the user calling
   <code class="code">set_encoding</code>.</div>
<div class="param_info"><code class="code">refill</code> : This function is called with arguments <code class="code">ulb_rawbuf</code>,
   <code class="code">ulb_rawbuf_len</code>, and <code class="code">l</code>, where 
   <code class="code">l = String.length ulb_rawbuf - ulb_rawbuf_len</code> is the free
   space in the buffer. The function should fill new bytes into
   this substring, and return the number of added bytes. The
   return value 0 signals EOF.</div>
<pre><span class="keyword">val</span> <a name="VALfrom_in_obj_channel"></a>from_in_obj_channel : <code class="type">?raw_size:int -><br>       ?char_size:int -><br>       ?enc_change_hook:(<a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a> -> unit) -><br>       <a href="Netconversion.html#TYPEencoding">Netconversion.encoding</a> -><br>       <a href="Netchannels.in_obj_channel.html">Netchannels.in_obj_channel</a> -> <a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a></code></pre><div class="info">
Creates a <code class="code">unicode_lexbuf</code> to analyse strings of the 
 passed <code class="code">encoding</code> coming from the object channel.
<p>

<br>
</div>
<div class="param_info"><code class="code">raw_size</code> : The initial size for <code class="code">ulb_rawbuf</code>. Defaults to 512</div>
<div class="param_info"><code class="code">char_size</code> : The initial size for <code class="code">ulb_chars</code>. Defaults to 256</div>
<div class="param_info"><code class="code">enc_change_hook</code> : This function is called when the encoding
   is changed, either by this module, or by the user calling
   <code class="code">set_encoding</code>.</div>
<pre><span class="keyword">val</span> <a name="VALfrom_string"></a>from_string : <code class="type">?enc_change_hook:(<a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a> -> unit) -><br>       <a href="Netconversion.html#TYPEencoding">Netconversion.encoding</a> -> string -> <a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a></code></pre><div class="info">
Creates a <code class="code">unicode_lexbuf</code> analysing the passed string encoded in
 the passed encoding. This function copies the input string.
<p>

<br>
</div>
<div class="param_info"><code class="code">enc_change_hook</code> : This function is called when the encoding
   is changed, either by this module, or by the user calling
   <code class="code">set_encoding</code></div>
<pre><span class="keyword">val</span> <a name="VALfrom_string_inplace"></a>from_string_inplace : <code class="type">?enc_change_hook:(<a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a> -> unit) -><br>       <a href="Netconversion.html#TYPEencoding">Netconversion.encoding</a> -> string -> <a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a></code></pre><div class="info">
Creates a <code class="code">unicode_lexbuf</code> analysing the passed string encoded in
 the passed encoding. This function does not copy the input string,
 but uses it directly as <code class="code">ulb_rawbuf</code>. The string is not modified by <code class="code">ULB</code>,
 but the caller must ensure that other program parts do not
 modify it either.
<p>

<br>
</div>
<div class="param_info"><code class="code">enc_change_hook</code> : This function is called when the encoding
   is changed, either by this module, or by the user calling
   <code class="code">set_encoding</code></div>
<pre><span class="keyword">val</span> <a name="VALdelete"></a>delete : <code class="type">int -> <a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a> -> unit</code></pre><div class="info">
Deletes the number of characters from <code class="code">unicode_lexbuf</code>.
  These characters
  are removed from the beginning of the buffer, i.e.
  <code class="code">ulb_chars.(n)</code> becomes the new first character of the
  buffer. All three buffers <code class="code">ulb_rawbuf</code>, <code class="code">ulb_chars</code>, and
  <code class="code">ulb_chars_pos</code> are blitted as necessary.       
<p>

  When the buffer is already at EOF, the function fails.
<p>

  For efficiency, it should be tried to call <code class="code">delete</code> as seldom as
  possible. Its speed is linear to the number of characters to move.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALrefill"></a>refill : <code class="type"><a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a> -> unit</code></pre><div class="info">
Tries to add characters to the <code class="code">unicode_lexbuf</code> by calling the 
 <code class="code">ulb_refill</code> function. When the buffer is already at EOF, the 
 exception <code class="code">End_of_file</code> is raised, and the buffer is not modified.
 Otherwise, the <code class="code">ulb_refill</code> function is called to
 add new characters. If necessary, <code class="code">ulb_rawbuf</code>, <code class="code">ulb_chars</code>, and
 <code class="code">ulb_chars_pos</code> are enlarged such that it is ensured that either
 at least one new character is added, or that EOF is found for
 the first time
 In the latter case, <code class="code">ulb_eof</code> is set to <code class="code">true</code> (and the next call
 of <code class="code">refill_unicode_lexbuf</code> will raise <code class="code">End_of_file</code>).<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_encoding"></a>set_encoding : <code class="type"><a href="Netconversion.html#TYPEencoding">Netconversion.encoding</a> -> <a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a> -> unit</code></pre><div class="info">
Sets the <code class="code">encoding</code> to the passed value. This only affects future
 <code class="code">refill</code> calls. The hook <code class="code">enc_change_hook</code> is invoked when defined.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALclose"></a>close : <code class="type"><a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a> -> unit</code></pre><div class="info">
Sets <code class="code">ulb_eof</code> of the <code class="code">unicode_lexbuf</code>. The rest of the buffer
 is not modified<br>
</div>
<pre><span class="keyword">val</span> <a name="VALutf8_sub_string"></a>utf8_sub_string : <code class="type">int -> int -> <a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a> -> string</code></pre><div class="info">
The two <code class="code">int</code> arguments are the position and length of a sub
 string of the lexbuf that is returned as UTF8 string. Position
 and length are given as character multiples, not byte multiples.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALutf8_sub_string_length"></a>utf8_sub_string_length : <code class="type">int -> int -> <a href="Netulex.ULB.html#TYPEunicode_lexbuf">unicode_lexbuf</a> -> int</code></pre><div class="info">
Returns <code class="code">String.length(utf8_sub_string args)</code>. Tries not to
 allocate the UTF-8 string.<br>
</div>
</body></html>