edlang/winnow/stream/index.html
2024-05-05 09:43:20 +00:00

14 lines
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 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="Stream capability for combinators to parse"><title>winnow::stream - Rust</title><script> if (window.location.protocol !== "file:") document.write(`<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">`)</script><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-e935ef01ae1c1829.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="winnow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.78.0 (9b00956e5 2024-04-29)" data-channel="1.78.0" data-search-js="search-42d8da7a6b9792c2.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-4c98445ec4002617.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-12cf3b4f4f9dc36d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-04d5337699b92874.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 mod"><!--[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" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../winnow/index.html">winnow</a><span class="version">0.6.7</span></h2></div><h2 class="location"><a href="#">Module stream</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Aliases</a></li></ul></section><h2><a href="../index.html">In crate winnow</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="../../winnow/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>Module <a href="../index.html">winnow</a>::<wbr><a class="mod" href="#">stream</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/winnow/stream/mod.rs.html#1-3704">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Stream capability for combinators to parse</p>
<p>Stream types include:</p>
<ul>
<li><code>&amp;[u8]</code> and <a href="struct.Bytes.html" title="struct winnow::stream::Bytes"><code>Bytes</code></a> for binary data</li>
<li><code>&amp;str</code> (aliased as <a href="type.Str.html" title="type winnow::stream::Str"><code>Str</code></a>) and <a href="struct.BStr.html" title="struct winnow::stream::BStr"><code>BStr</code></a> for UTF-8 data</li>
<li><a href="struct.Located.html" title="struct winnow::stream::Located"><code>Located</code></a> can track the location within the original buffer to report
<a href="../trait.Parser.html#method.with_span" title="method winnow::Parser::with_span">spans</a></li>
<li><a href="struct.Stateful.html" title="struct winnow::stream::Stateful"><code>Stateful</code></a> to thread global state through your parsers</li>
<li><a href="struct.Partial.html" title="struct winnow::stream::Partial"><code>Partial</code></a> can mark an input as partial buffer that is being streamed into</li>
<li>[Custom stream types][crate::_topic::stream]</li>
</ul>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.BStr.html" title="struct winnow::stream::BStr">BStr</a></div><div class="desc docblock-short">Improved <code>Debug</code> experience for <code>&amp;[u8]</code> UTF-8-ish streams</div></li><li><div class="item-name"><a class="struct" href="struct.BitOffsets.html" title="struct winnow::stream::BitOffsets">BitOffsets</a></div><div class="desc docblock-short">Iterator for <a href="../binary/bits/index.html" title="mod winnow::binary::bits">bit</a> stream (<code>(I, usize)</code>)</div></li><li><div class="item-name"><a class="struct" href="struct.Bytes.html" title="struct winnow::stream::Bytes">Bytes</a></div><div class="desc docblock-short">Improved <code>Debug</code> experience for <code>&amp;[u8]</code> byte streams</div></li><li><div class="item-name"><a class="struct" href="struct.Checkpoint.html" title="struct winnow::stream::Checkpoint">Checkpoint</a></div><div class="desc docblock-short">Ensure checkpoint details are kept private</div></li><li><div class="item-name"><a class="struct" href="struct.Located.html" title="struct winnow::stream::Located">Located</a></div><div class="desc docblock-short">Allow collecting the span of a parsed token</div></li><li><div class="item-name"><a class="struct" href="struct.Partial.html" title="struct winnow::stream::Partial">Partial</a></div><div class="desc docblock-short">Mark the input as a partial buffer for streaming input.</div></li><li><div class="item-name"><a class="struct" href="struct.Range.html" title="struct winnow::stream::Range">Range</a></div><div class="desc docblock-short">A range bounded inclusively for counting parses performed</div></li><li><div class="item-name"><a class="struct" href="struct.Stateful.html" title="struct winnow::stream::Stateful">Stateful</a></div><div class="desc docblock-short">Thread global state through your parsers</div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.CompareResult.html" title="enum winnow::stream::CompareResult">CompareResult</a></div><div class="desc docblock-short">Result of <a href="trait.Compare.html#tymethod.compare" title="method winnow::stream::Compare::compare"><code>Compare::compare</code></a></div></li></ul><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.Accumulate.html" title="trait winnow::stream::Accumulate">Accumulate</a></div><div class="desc docblock-short">Abstracts something which can extend an <code>Extend</code>.
Used to build modified input slices in <code>escaped_transform</code></div></li><li><div class="item-name"><a class="trait" href="trait.AsBStr.html" title="trait winnow::stream::AsBStr">AsBStr</a></div><div class="desc docblock-short">Helper trait for types that can be viewed as a byte slice</div></li><li><div class="item-name"><a class="trait" href="trait.AsBytes.html" title="trait winnow::stream::AsBytes">AsBytes</a></div><div class="desc docblock-short">Helper trait for types that can be viewed as a byte slice</div></li><li><div class="item-name"><a class="trait" href="trait.AsChar.html" title="trait winnow::stream::AsChar">AsChar</a></div><div class="desc docblock-short">Transforms a token into a char for basic string parsing</div></li><li><div class="item-name"><a class="trait" href="trait.Compare.html" title="trait winnow::stream::Compare">Compare</a></div><div class="desc docblock-short">Abstracts comparison operations</div></li><li><div class="item-name"><a class="trait" href="trait.ContainsToken.html" title="trait winnow::stream::ContainsToken">ContainsToken</a></div><div class="desc docblock-short">Check if a token is in a set of possible tokens</div></li><li><div class="item-name"><a class="trait" href="trait.FindSlice.html" title="trait winnow::stream::FindSlice">FindSlice</a></div><div class="desc docblock-short">Look for a slice in self</div></li><li><div class="item-name"><a class="trait" href="trait.Location.html" title="trait winnow::stream::Location">Location</a></div><div class="desc docblock-short">Number of indices input has advanced since start of parsing</div></li><li><div class="item-name"><a class="trait" href="trait.Offset.html" title="trait winnow::stream::Offset">Offset</a></div><div class="desc docblock-short">Useful functions to calculate the offset between slices and show a hexdump of a slice</div></li><li><div class="item-name"><a class="trait" href="trait.ParseSlice.html" title="trait winnow::stream::ParseSlice">ParseSlice</a></div><div class="desc docblock-short">Used to integrate <code>str</code>s <code>parse()</code> method</div></li><li><div class="item-name"><a class="trait" href="trait.SliceLen.html" title="trait winnow::stream::SliceLen">SliceLen</a></div><div class="desc docblock-short">Abstract method to calculate the input length</div></li><li><div class="item-name"><a class="trait" href="trait.Stream.html" title="trait winnow::stream::Stream">Stream</a></div><div class="desc docblock-short">Core definition for parser input state</div></li><li><div class="item-name"><a class="trait" href="trait.StreamIsPartial.html" title="trait winnow::stream::StreamIsPartial">StreamIsPartial</a></div><div class="desc docblock-short">Marks the input as being the complete buffer or a partial buffer for streaming input</div></li><li><div class="item-name"><a class="trait" href="trait.ToUsize.html" title="trait winnow::stream::ToUsize">ToUsize</a></div><div class="desc docblock-short">Helper trait to convert numbers to usize.</div></li><li><div class="item-name"><a class="trait" href="trait.UpdateSlice.html" title="trait winnow::stream::UpdateSlice">UpdateSlice</a></div><div class="desc docblock-short">Convert a <code>Stream</code> into an appropriate <code>Output</code> type</div></li></ul><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="type" href="type.Str.html" title="type winnow::stream::Str">Str</a></div><div class="desc docblock-short">UTF-8 Stream</div></li></ul></section></div></main></body></html>