edlang/object/read/trait.ReadRef.html
2024-03-02 09:26:34 +00:00

82 lines
24 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 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="A trait for reading references to `Pod` types from a block of data."><title>ReadRef in object::read - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="object" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-feafe1bb7466e4bd.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../object/index.html">object</a><span class="version">0.32.2</span></h2></div><h2 class="location"><a href="#">ReadRef</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.len">len</a></li><li><a href="#tymethod.read_bytes_at">read_bytes_at</a></li><li><a href="#tymethod.read_bytes_at_until">read_bytes_at_until</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.read">read</a></li><li><a href="#method.read_at">read_at</a></li><li><a href="#method.read_bytes">read_bytes</a></li><li><a href="#method.read_slice">read_slice</a></li><li><a href="#method.read_slice_at">read_slice_at</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-ReadRef%3C'a%3E-for-%26%5Bu8%5D">&amp;&#x27;a [u8]</a></li></ul><h3><a href="#object-safety">Object Safety</a></h3><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In object::read</a></h2></div></nav><div class="sidebar-resizer"></div>
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../object/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Trait <a href="../index.html">object</a>::<wbr><a href="index.html">read</a>::<wbr><a class="trait" href="#">ReadRef</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/object/read/read_ref.rs.html#37-112">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait ReadRef&lt;'a&gt;: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> {
// Required methods
fn <a href="#tymethod.len" class="fn">len</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.read_bytes_at" class="fn">read_bytes_at</a>(self, offset: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>, size: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>], <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.read_bytes_at_until" class="fn">read_bytes_at_until</a>(
self,
range: <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>&gt;,
delimiter: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>], <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;;
// Provided methods
fn <a href="#method.read_bytes" class="fn">read_bytes</a>(self, offset: &amp;mut <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>, size: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>], <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.read" class="fn">read</a>&lt;T: <a class="trait" href="../pod/trait.Pod.html" title="trait object::pod::Pod">Pod</a>&gt;(self, offset: &amp;mut <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;'a T</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.read_at" class="fn">read_at</a>&lt;T: <a class="trait" href="../pod/trait.Pod.html" title="trait object::pod::Pod">Pod</a>&gt;(self, offset: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;'a T</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.read_slice" class="fn">read_slice</a>&lt;T: <a class="trait" href="../pod/trait.Pod.html" title="trait object::pod::Pod">Pod</a>&gt;(
self,
offset: &amp;mut <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>,
count: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.slice.html">[T]</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.read_slice_at" class="fn">read_slice_at</a>&lt;T: <a class="trait" href="../pod/trait.Pod.html" title="trait object::pod::Pod">Pod</a>&gt;(
self,
offset: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>,
count: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.slice.html">[T]</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt; { ... }
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A trait for reading references to <a href="../pod/trait.Pod.html" title="trait object::pod::Pod"><code>Pod</code></a> types from a block of data.</p>
<p>This allows parsers to handle both of these cases:</p>
<ul>
<li>the block of data exists in memory, and it is desirable
to use references to this block instead of copying it,</li>
<li>the block of data exists in storage, and it is desirable
to read on demand to minimize I/O and memory usage.</li>
</ul>
<p>The methods accept <code>self</code> by value because <code>Self</code> is expected to behave
similar to a reference: it may be a reference with a lifetime of <code>'a</code>,
or it may be a wrapper of a reference.</p>
<p>The <code>Clone</code> and <code>Copy</code> bounds are for convenience, and since <code>Self</code> is
expected to be similar to a reference, these are easily satisfied.</p>
<p>Object file parsers typically use offsets to locate the structures
in the block, and will most commonly use the <code>*_at</code> methods to
read a structure at a known offset.</p>
<p>Occasionally file parsers will need to treat the block as a stream,
and so convenience methods are provided that update an offset with
the size that was read.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.len" class="method"><a class="src rightside" href="../../src/object/read/read_ref.rs.html#39">source</a><h4 class="code-header">fn <a href="#tymethod.len" class="fn">len</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class="docblock"><p>The total size of the block of data.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.read_bytes_at" class="method"><a class="src rightside" href="../../src/object/read/read_ref.rs.html#44">source</a><h4 class="code-header">fn <a href="#tymethod.read_bytes_at" class="fn">read_bytes_at</a>(self, offset: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>, size: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>], <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class="docblock"><p>Get a reference to a <code>u8</code> slice at the given offset.</p>
<p>Returns an error if offset or size are out of bounds.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.read_bytes_at_until" class="method"><a class="src rightside" href="../../src/object/read/read_ref.rs.html#52">source</a><h4 class="code-header">fn <a href="#tymethod.read_bytes_at_until" class="fn">read_bytes_at_until</a>(
self,
range: <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>&gt;,
delimiter: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>], <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class="docblock"><p>Get a reference to a delimited <code>u8</code> slice which starts at range.start.</p>
<p>Does not include the delimiter.</p>
<p>Returns an error if the range is out of bounds or the delimiter is
not found in the range.</p>
</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.read_bytes" class="method"><a class="src rightside" href="../../src/object/read/read_ref.rs.html#57-61">source</a><h4 class="code-header">fn <a href="#method.read_bytes" class="fn">read_bytes</a>(self, offset: &amp;mut <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>, size: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>], <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class="docblock"><p>Get a reference to a <code>u8</code> slice at the given offset, and update the offset.</p>
<p>Returns an error if offset or size are out of bounds.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.read" class="method"><a class="src rightside" href="../../src/object/read/read_ref.rs.html#72-77">source</a><h4 class="code-header">fn <a href="#method.read" class="fn">read</a>&lt;T: <a class="trait" href="../pod/trait.Pod.html" title="trait object::pod::Pod">Pod</a>&gt;(self, offset: &amp;mut <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;'a T</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class="docblock"><p>Get a reference to a <code>Pod</code> type at the given offset, and update the offset.</p>
<p>Returns an error if offset or size are out of bounds.</p>
<p>The default implementation uses <code>read_bytes</code>, and returns an error if
<code>read_bytes</code> does not return bytes with the correct alignment for <code>T</code>.
Implementors may want to provide their own implementation that ensures
the alignment can be satisfied. Alternatively, only use this method with
types that do not need alignment (see the <code>unaligned</code> feature of this crate).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.read_at" class="method"><a class="src rightside" href="../../src/object/read/read_ref.rs.html#84-86">source</a><h4 class="code-header">fn <a href="#method.read_at" class="fn">read_at</a>&lt;T: <a class="trait" href="../pod/trait.Pod.html" title="trait object::pod::Pod">Pod</a>&gt;(self, offset: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&amp;'a T</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class="docblock"><p>Get a reference to a <code>Pod</code> type at the given offset.</p>
<p>Returns an error if offset or size are out of bounds.</p>
<p>Also see the <code>read</code> method for information regarding alignment of <code>T</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.read_slice" class="method"><a class="src rightside" href="../../src/object/read/read_ref.rs.html#93-102">source</a><h4 class="code-header">fn <a href="#method.read_slice" class="fn">read_slice</a>&lt;T: <a class="trait" href="../pod/trait.Pod.html" title="trait object::pod::Pod">Pod</a>&gt;(
self,
offset: &amp;mut <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>,
count: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.slice.html">[T]</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class="docblock"><p>Get a reference to a slice of a <code>Pod</code> type at the given offset, and update the offset.</p>
<p>Returns an error if offset or size are out of bounds.</p>
<p>Also see the <code>read</code> method for information regarding alignment of <code>T</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.read_slice_at" class="method"><a class="src rightside" href="../../src/object/read/read_ref.rs.html#109-111">source</a><h4 class="code-header">fn <a href="#method.read_slice_at" class="fn">read_slice_at</a>&lt;T: <a class="trait" href="../pod/trait.Pod.html" title="trait object::pod::Pod">Pod</a>&gt;(self, offset: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>, count: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.slice.html">[T]</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class="docblock"><p>Get a reference to a slice of a <code>Pod</code> type at the given offset.</p>
<p>Returns an error if offset or size are out of bounds.</p>
<p>Also see the <code>read</code> method for information regarding alignment of <code>T</code>.</p>
</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/1.76.0/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-ReadRef%3C'a%3E-for-%26%5Bu8%5D" class="impl"><a class="src rightside" href="../../src/object/read/read_ref.rs.html#114-137">source</a><a href="#impl-ReadRef%3C'a%3E-for-%26%5Bu8%5D" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="trait.ReadRef.html" title="trait object::read::ReadRef">ReadRef</a>&lt;'a&gt; for &amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>]</h3></section></summary><div class="impl-items"><section id="method.len" class="method trait-impl"><a class="src rightside" href="../../src/object/read/read_ref.rs.html#115-117">source</a><a href="#method.len" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.len" class="fn">len</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>, <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h4></section><section id="method.read_bytes_at" class="method trait-impl"><a class="src rightside" href="../../src/object/read/read_ref.rs.html#119-123">source</a><a href="#method.read_bytes_at" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.read_bytes_at" class="fn">read_bytes_at</a>(self, offset: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>, size: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>], <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h4></section><section id="method.read_bytes_at_until" class="method trait-impl"><a class="src rightside" href="../../src/object/read/read_ref.rs.html#125-136">source</a><a href="#method.read_bytes_at_until" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.read_bytes_at_until" class="fn">read_bytes_at_until</a>(
self,
range: <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>&gt;,
delimiter: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&amp;'a [<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u8.html">u8</a>], <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>&gt;</h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../../trait.impl/object/read/read_ref/trait.ReadRef.js" data-ignore-extern-crates="std" async></script></section></div></main></body></html>