moonpool/dev/ocaml/Stdlib/Uchar/index.html
2023-08-28 17:11:38 +00:00

2 lines
No EOL
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Uchar (ocaml.Stdlib.Uchar)</title><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../index.html">ocaml</a> &#x00BB; <a href="../index.html">Stdlib</a> &#x00BB; Uchar</nav><header class="odoc-preamble"><h1>Module <code><span>Stdlib.Uchar</span></code></h1><p>Unicode characters.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 4.03</li></ul></header><nav class="odoc-toc"><ul><li><a href="#utf">UTF codecs tools</a></li></ul></nav><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div><div class="spec-doc"><p>The type for Unicode characters.</p><p>A value of this type represents a Unicode <a href="http://unicode.org/glossary/#unicode_scalar_value">scalar value</a> which is an integer in the ranges <code>0x0000</code>...<code>0xD7FF</code> or <code>0xE000</code>...<code>0x10FFFF</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-min"><a href="#val-min" class="anchor"></a><code><span><span class="keyword">val</span> min : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>min</code> is U+0000.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-max"><a href="#val-max" class="anchor"></a><code><span><span class="keyword">val</span> max : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>max</code> is U+10FFFF.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-bom"><a href="#val-bom" class="anchor"></a><code><span><span class="keyword">val</span> bom : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>bom</code> is U+FEFF, the <a href="http://unicode.org/glossary/#byte_order_mark">byte order mark</a> (BOM) character.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 4.06.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-rep"><a href="#val-rep" class="anchor"></a><code><span><span class="keyword">val</span> rep : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>rep</code> is U+FFFD, the <a href="http://unicode.org/glossary/#replacement_character">replacement</a> character.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 4.06.0</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-succ"><a href="#val-succ" class="anchor"></a><code><span><span class="keyword">val</span> succ : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>succ u</code> is the scalar value after <code>u</code> in the set of Unicode scalar values.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Invalid_argument</span> <p>if <code>u</code> is <a href="#val-max"><code>max</code></a>.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pred"><a href="#val-pred" class="anchor"></a><code><span><span class="keyword">val</span> pred : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>pred u</code> is the scalar value before <code>u</code> in the set of Unicode scalar values.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Invalid_argument</span> <p>if <code>u</code> is <a href="#val-min"><code>min</code></a>.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_valid"><a href="#val-is_valid" class="anchor"></a><code><span><span class="keyword">val</span> is_valid : <span>int <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p><code>is_valid n</code> is <code>true</code> if and only if <code>n</code> is a Unicode scalar value (i.e. in the ranges <code>0x0000</code>...<code>0xD7FF</code> or <code>0xE000</code>...<code>0x10FFFF</code>).</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_int"><a href="#val-of_int" class="anchor"></a><code><span><span class="keyword">val</span> of_int : <span>int <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>of_int i</code> is <code>i</code> as a Unicode character.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Invalid_argument</span> <p>if <code>i</code> does not satisfy <a href="#val-is_valid"><code>is_valid</code></a>.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_int"><a href="#val-to_int" class="anchor"></a><code><span><span class="keyword">val</span> to_int : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p><code>to_int u</code> is <code>u</code> as an integer.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_char"><a href="#val-is_char" class="anchor"></a><code><span><span class="keyword">val</span> is_char : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p><code>is_char u</code> is <code>true</code> if and only if <code>u</code> is a latin1 OCaml character.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_char"><a href="#val-of_char" class="anchor"></a><code><span><span class="keyword">val</span> of_char : <span>char <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>of_char c</code> is <code>c</code> as a Unicode character.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_char"><a href="#val-to_char" class="anchor"></a><code><span><span class="keyword">val</span> to_char : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> char</span></code></div><div class="spec-doc"><p><code>to_char u</code> is <code>u</code> as an OCaml latin1 character.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <span class="value">Invalid_argument</span> <p>if <code>u</code> does not satisfy <a href="#val-is_char"><code>is_char</code></a>.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-equal"><a href="#val-equal" class="anchor"></a><code><span><span class="keyword">val</span> equal : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p><code>equal u u'</code> is <code>u = u'</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-compare"><a href="#val-compare" class="anchor"></a><code><span><span class="keyword">val</span> compare : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p><code>compare u u'</code> is <code>Stdlib.compare u u'</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-hash"><a href="#val-hash" class="anchor"></a><code><span><span class="keyword">val</span> hash : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p><code>hash u</code> associates a non-negative integer to <code>u</code>.</p></div></div><h2 id="utf"><a href="#utf" class="anchor"></a>UTF codecs tools</h2><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 4.14</li></ul><div class="odoc-spec"><div class="spec type anchored" id="type-utf_decode"><a href="#type-utf_decode" class="anchor"></a><code><span><span class="keyword">type</span> utf_decode</span></code></div><div class="spec-doc"><p>The type for UTF decode results. Values of this type represent the result of a Unicode Transformation Format decoding attempt.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-utf_decode_is_valid"><a href="#val-utf_decode_is_valid" class="anchor"></a><code><span><span class="keyword">val</span> utf_decode_is_valid : <span><a href="#type-utf_decode">utf_decode</a> <span class="arrow">&#45;&gt;</span></span> bool</span></code></div><div class="spec-doc"><p><code>utf_decode_is_valid d</code> is <code>true</code> if and only if <code>d</code> holds a valid decode.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-utf_decode_uchar"><a href="#val-utf_decode_uchar" class="anchor"></a><code><span><span class="keyword">val</span> utf_decode_uchar : <span><a href="#type-utf_decode">utf_decode</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>utf_decode_uchar d</code> is the Unicode character decoded by <code>d</code> if <code>utf_decode_is_valid d</code> is <code>true</code> and <a href="#val-rep"><code>Uchar.rep</code></a> otherwise.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-utf_decode_length"><a href="#val-utf_decode_length" class="anchor"></a><code><span><span class="keyword">val</span> utf_decode_length : <span><a href="#type-utf_decode">utf_decode</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p><code>utf_decode_length d</code> is the number of elements from the source that were consumed by the decode <code>d</code>. This is always strictly positive and smaller or equal to <code>4</code>. The kind of source elements depends on the actual decoder; for the decoders of the standard library this function always returns a length in bytes.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-utf_decode"><a href="#val-utf_decode" class="anchor"></a><code><span><span class="keyword">val</span> utf_decode : <span>int <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-utf_decode">utf_decode</a></span></code></div><div class="spec-doc"><p><code>utf_decode n u</code> is a valid UTF decode for <code>u</code> that consumed <code>n</code> elements from the source for decoding. <code>n</code> must be positive and smaller or equal to <code>4</code> (this is not checked by the module).</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-utf_decode_invalid"><a href="#val-utf_decode_invalid" class="anchor"></a><code><span><span class="keyword">val</span> utf_decode_invalid : <span>int <span class="arrow">&#45;&gt;</span></span> <a href="#type-utf_decode">utf_decode</a></span></code></div><div class="spec-doc"><p><code>utf_decode_invalid n</code> is an invalid UTF decode that consumed <code>n</code> elements from the source to error. <code>n</code> must be positive and smaller or equal to <code>4</code> (this is not checked by the module). The resulting decode has <a href="#val-rep"><code>rep</code></a> as the decoded Unicode character.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-utf_8_byte_length"><a href="#val-utf_8_byte_length" class="anchor"></a><code><span><span class="keyword">val</span> utf_8_byte_length : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p><code>utf_8_byte_length u</code> is the number of bytes needed to encode <code>u</code> in UTF-8.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-utf_16_byte_length"><a href="#val-utf_16_byte_length" class="anchor"></a><code><span><span class="keyword">val</span> utf_16_byte_length : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p><code>utf_16_byte_length u</code> is the number of bytes needed to encode <code>u</code> in UTF-16.</p></div></div></div></body></html>