blob: 7f44446b21c06728d419bea64349ed4c5f0312b0 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="rustdoc">
<meta name="description" content="API documentation for the Rust `CharExt` trait in crate `encode_unicode`.">
<meta name="keywords" content="rust, rustlang, rust-lang, CharExt">
<title>encode_unicode::CharExt - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css">
<link rel="stylesheet" type="text/css" href="../main.css">
</head>
<body class="rustdoc trait">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<p class='location'>Trait CharExt</p><div class="block items"><ul><li><a href="#required-methods">Required Methods</a></li><li><a href="#implementors">Implementors</a></li></ul></div><p class='location'><a href='index.html'>encode_unicode</a></p><script>window.sidebarCurrent = {name: 'CharExt', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script>
</nav>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Trait <a href='index.html'>encode_unicode</a>::<wbr><a class="trait" href=''>CharExt</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/encode_unicode/traits.rs.html#84-170' title='goto source code'>[src]</a></span></h1>
<pre class='rust trait'>pub trait CharExt: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
fn <a href='#tymethod.to_utf8' class='fnname'>to_utf8</a>(self) -&gt; <a class="struct" href="../encode_unicode/struct.Utf8Char.html" title="struct encode_unicode::Utf8Char">Utf8Char</a>;
<div class='item-spacer'></div> fn <a href='#tymethod.to_utf16' class='fnname'>to_utf16</a>(self) -&gt; <a class="struct" href="../encode_unicode/struct.Utf16Char.html" title="struct encode_unicode::Utf16Char">Utf16Char</a>;
<div class='item-spacer'></div> fn <a href='#tymethod.iter_utf8_bytes' class='fnname'>iter_utf8_bytes</a>(self) -&gt; <a class="struct" href="../encode_unicode/struct.Utf8Iterator.html" title="struct encode_unicode::Utf8Iterator">Utf8Iterator</a>;
<div class='item-spacer'></div> fn <a href='#tymethod.iter_utf16_units' class='fnname'>iter_utf16_units</a>(self) -&gt; <a class="struct" href="../encode_unicode/struct.Utf16Iterator.html" title="struct encode_unicode::Utf16Iterator">Utf16Iterator</a>;
<div class='item-spacer'></div> fn <a href='#tymethod.to_utf8_slice' class='fnname'>to_utf8_slice</a>(self, dst: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;mut [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;;
<div class='item-spacer'></div> fn <a href='#tymethod.to_utf16_slice' class='fnname'>to_utf16_slice</a>(self, dst: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;mut [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;;
<div class='item-spacer'></div> fn <a href='#tymethod.to_utf8_array' class='fnname'>to_utf8_array</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 4]</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>;
<div class='item-spacer'></div> fn <a href='#tymethod.to_utf16_tuple' class='fnname'>to_utf16_tuple</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>;
<div class='item-spacer'></div> fn <a href='#tymethod.from_utf8_slice' class='fnname'>from_utf8_slice</a>(src: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>Self, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../encode_unicode/error/enum.InvalidUtf8Slice.html" title="enum encode_unicode::error::InvalidUtf8Slice">InvalidUtf8Slice</a>&gt;;
<div class='item-spacer'></div> fn <a href='#tymethod.from_utf16_slice' class='fnname'>from_utf16_slice</a>(src: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>Self, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../encode_unicode/error/enum.InvalidUtf16Slice.html" title="enum encode_unicode::error::InvalidUtf16Slice">InvalidUtf16Slice</a>&gt;;
<div class='item-spacer'></div> fn <a href='#tymethod.from_utf8_array' class='fnname'>from_utf8_array</a>(utf8: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 4]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../encode_unicode/error/enum.InvalidUtf8Array.html" title="enum encode_unicode::error::InvalidUtf8Array">InvalidUtf8Array</a>&gt;;
<div class='item-spacer'></div> fn <a href='#tymethod.from_utf16_tuple' class='fnname'>from_utf16_tuple</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;utf16: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a><br>&nbsp;&nbsp;&nbsp;&nbsp;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../encode_unicode/error/enum.InvalidUtf16Tuple.html" title="enum encode_unicode::error::InvalidUtf16Tuple">InvalidUtf16Tuple</a>&gt;;
<div class='item-spacer'></div> unsafe fn <a href='#tymethod.from_utf8_exact_slice_unchecked' class='fnname'>from_utf8_exact_slice_unchecked</a>(src: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; Self;
<div class='item-spacer'></div> unsafe fn <a href='#tymethod.from_utf16_tuple_unchecked' class='fnname'>from_utf16_tuple_unchecked</a>(utf16: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>) -&gt; Self;
<div class='item-spacer'></div> fn <a href='#tymethod.from_u32_detailed' class='fnname'>from_u32_detailed</a>(c: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../encode_unicode/error/enum.InvalidCodePoint.html" title="enum encode_unicode::error::InvalidCodePoint">InvalidCodePoint</a>&gt;;
}</pre><div class='docblock'><p>Extension trait for <code>char</code> that adds methods for converting to and from UTF-8 or UTF-16.</p>
</div>
<h2 id='required-methods' class='small-section-header'>
Required Methods<a href='#required-methods' class='anchor'></a>
</h2>
<div class='methods'>
<h3 id='tymethod.to_utf8' class='method'><span id='to_utf8.v' class='invisible'><code>fn <a href='#tymethod.to_utf8' class='fnname'>to_utf8</a>(self) -&gt; <a class="struct" href="../encode_unicode/struct.Utf8Char.html" title="struct encode_unicode::Utf8Char">Utf8Char</a></code></span></h3><div class='docblock'><p>Get the UTF-8 representation of this codepoint.</p>
<p><code>Utf8Char</code> is to <code>[u8;4]</code> what <code>char</code> is to <code>u32</code>:
a restricted type that cannot be mutated internally.</p>
</div><h3 id='tymethod.to_utf16' class='method'><span id='to_utf16.v' class='invisible'><code>fn <a href='#tymethod.to_utf16' class='fnname'>to_utf16</a>(self) -&gt; <a class="struct" href="../encode_unicode/struct.Utf16Char.html" title="struct encode_unicode::Utf16Char">Utf16Char</a></code></span></h3><div class='docblock'><p>Get the UTF-16 representation of this codepoint.</p>
<p><code>Utf16Char</code> is to <code>(u16,Option&lt;u16&gt;)</code> what <code>char</code> is to <code>u32</code>:
a restricted type that cannot be mutated internally.</p>
</div><h3 id='tymethod.iter_utf8_bytes' class='method'><span id='iter_utf8_bytes.v' class='invisible'><code>fn <a href='#tymethod.iter_utf8_bytes' class='fnname'>iter_utf8_bytes</a>(self) -&gt; <a class="struct" href="../encode_unicode/struct.Utf8Iterator.html" title="struct encode_unicode::Utf8Iterator">Utf8Iterator</a></code></span></h3><div class='docblock'><p>Iterate over or <a href="https://doc.rust-lang.org/std/io/trait.Read.html">read</a>
the one to four bytes in the UTF-8 representation of this codepoint.</p>
</div><h3 id='tymethod.iter_utf16_units' class='method'><span id='iter_utf16_units.v' class='invisible'><code>fn <a href='#tymethod.iter_utf16_units' class='fnname'>iter_utf16_units</a>(self) -&gt; <a class="struct" href="../encode_unicode/struct.Utf16Iterator.html" title="struct encode_unicode::Utf16Iterator">Utf16Iterator</a></code></span></h3><div class='docblock'><p>Iterate over the one or two units in the UTF-16 representation of this codepoint.</p>
</div><h3 id='tymethod.to_utf8_slice' class='method'><span id='to_utf8_slice.v' class='invisible'><code>fn <a href='#tymethod.to_utf8_slice' class='fnname'>to_utf8_slice</a>(self, dst: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;mut [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</code></span></h3><div class='docblock'><p>Convert this char to UTF-8, and then
returns the number of bytes written.</p>
<p><code>None</code> is returned if the buffer is too small; then the buffer is left unmodified.
A buffer of length four is always large enough.</p>
<p>Similar to the unstable <code>.encode_utf8()</code>,
but that method somehow still exist on stable, so I have to use a different name.</p>
</div><h3 id='tymethod.to_utf16_slice' class='method'><span id='to_utf16_slice.v' class='invisible'><code>fn <a href='#tymethod.to_utf16_slice' class='fnname'>to_utf16_slice</a>(self, dst: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;mut [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;</code></span></h3><div class='docblock'><p>Convert this char to UTF-16, and then
returns the number of units written.</p>
<p><code>None</code> is returned if the buffer is too small; then the buffer is left unmodified.
A buffer of length two is always large enough.</p>
<p>Similar to the unstable <code>.encode_utf16()</code>,
but that method somehow still exist on stable, so I have to use a different name.</p>
</div><h3 id='tymethod.to_utf8_array' class='method'><span id='to_utf8_array.v' class='invisible'><code>fn <a href='#tymethod.to_utf8_array' class='fnname'>to_utf8_array</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 4]</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code></span></h3><div class='docblock'><p>Convert this char to an UTF-8 array and lenght,
The returned array is left-aligned, and the usize is how many bytes are used.
The unused bytes are zero.</p>
</div><h3 id='tymethod.to_utf16_tuple' class='method'><span id='to_utf16_tuple.v' class='invisible'><code>fn <a href='#tymethod.to_utf16_tuple' class='fnname'>to_utf16_tuple</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code></span></h3><div class='docblock'><p>Convert this char to UTF-16.
The second <code>u16</code> is <code>Some</code> if a surrogate pair is required.</p>
</div><h3 id='tymethod.from_utf8_slice' class='method'><span id='from_utf8_slice.v' class='invisible'><code>fn <a href='#tymethod.from_utf8_slice' class='fnname'>from_utf8_slice</a>(src: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>Self, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../encode_unicode/error/enum.InvalidUtf8Slice.html" title="enum encode_unicode::error::InvalidUtf8Slice">InvalidUtf8Slice</a>&gt;</code></span></h3><div class='docblock'><p>Create a <code>char</code> from the start of a slice intepreted as UTF-8, and return how many bytes were needed.</p>
</div><h3 id='tymethod.from_utf16_slice' class='method'><span id='from_utf16_slice.v' class='invisible'><code>fn <a href='#tymethod.from_utf16_slice' class='fnname'>from_utf16_slice</a>(src: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>Self, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../encode_unicode/error/enum.InvalidUtf16Slice.html" title="enum encode_unicode::error::InvalidUtf16Slice">InvalidUtf16Slice</a>&gt;</code></span></h3><div class='docblock'><p>Read one or two UTF-16 units into a <code>char</code>, and also return how many units were needed.</p>
</div><h3 id='tymethod.from_utf8_array' class='method'><span id='from_utf8_array.v' class='invisible'><code>fn <a href='#tymethod.from_utf8_array' class='fnname'>from_utf8_array</a>(utf8: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 4]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../encode_unicode/error/enum.InvalidUtf8Array.html" title="enum encode_unicode::error::InvalidUtf8Array">InvalidUtf8Array</a>&gt;</code></span></h3><div class='docblock'><p>Convert an UTF-8 sequence as returned from <code>.to_utf8_array()</code> into a <code>char</code></p>
</div><h3 id='tymethod.from_utf16_tuple' class='method'><span id='from_utf16_tuple.v' class='invisible'><code>fn <a href='#tymethod.from_utf16_tuple' class='fnname'>from_utf16_tuple</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;utf16: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../encode_unicode/error/enum.InvalidUtf16Tuple.html" title="enum encode_unicode::error::InvalidUtf16Tuple">InvalidUtf16Tuple</a>&gt;</code></span></h3><div class='docblock'><p>Convert a UTF-16 pair as returned from <code>.to_utf16_tuple()</code> into a <code>char</code>.</p>
</div><h3 id='tymethod.from_utf8_exact_slice_unchecked' class='method'><span id='from_utf8_exact_slice_unchecked.v' class='invisible'><code>unsafe fn <a href='#tymethod.from_utf8_exact_slice_unchecked' class='fnname'>from_utf8_exact_slice_unchecked</a>(src: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; Self</code></span></h3><div class='docblock'><p>Convert an UTF-8 sequence into a char.
The length of the slice is the length of the sequence, should be 1,2,3 or 4.</p>
<h1 id='panics' class='section-header'><a href='#panics'>Panics:</a></h1>
<p>If the slice is empty</p>
</div><h3 id='tymethod.from_utf16_tuple_unchecked' class='method'><span id='from_utf16_tuple_unchecked.v' class='invisible'><code>unsafe fn <a href='#tymethod.from_utf16_tuple_unchecked' class='fnname'>from_utf16_tuple_unchecked</a>(utf16: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u16.html">u16</a>&gt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>) -&gt; Self</code></span></h3><div class='docblock'><p>Convert a UTF-16 tuple as returned from <code>.to_utf16_tuple()</code> into a <code>char</code>.</p>
</div><h3 id='tymethod.from_u32_detailed' class='method'><span id='from_u32_detailed.v' class='invisible'><code>fn <a href='#tymethod.from_u32_detailed' class='fnname'>from_u32_detailed</a>(c: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="enum" href="../encode_unicode/error/enum.InvalidCodePoint.html" title="enum encode_unicode::error::InvalidCodePoint">InvalidCodePoint</a>&gt;</code></span></h3><div class='docblock'><p>Perform some extra validations compared to <code>char::from_u32_unchecked()</code></p>
<h1 id='failures' class='section-header'><a href='#failures'>Failures:</a></h1>
<ul>
<li>the value is greater than 0x10ffff</li>
<li>the value is between 0xd800 and 0xdfff (inclusive)</li>
</ul>
</div></div>
<h2 id='implementors' class='small-section-header'>
Implementors<a href='#implementors' class='anchor'></a>
</h2>
<ul class='item-list' id='implementors-list'>
<li><code>impl CharExt for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a></code></li>
</ul><script type="text/javascript" async
src="../implementors/encode_unicode/trait.CharExt.js">
</script></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt>?</dt>
<dd>Show this help dialog</dd>
<dt>S</dt>
<dd>Focus the search field</dd>
<dt>&larrb;</dt>
<dd>Move up in search results</dd>
<dt>&rarrb;</dt>
<dd>Move down in search results</dd>
<dt>&#9166;</dt>
<dd>Go to active search result</dd>
<dt>+</dt>
<dd>Collapse/expand all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "encode_unicode";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>