<main><divclass="width-limiter"><navclass="sub"><formclass="search-form"><span></span><divid="sidebar-button"tabindex="-1"><ahref="../../../aho_corasick/all.html"title="show sidebar"></a></div><inputclass="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"><divid="help-button"tabindex="-1"><ahref="../../../help.html"title="help">?</a></div><divid="settings-menu"tabindex="-1"><ahref="../../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><sectionid="main-content"class="content"><divclass="main-heading"><h1>Struct <ahref="../../index.html">aho_corasick</a>::<wbr><ahref="../index.html">nfa</a>::<wbr><ahref="index.html">contiguous</a>::<wbr><aclass="struct"href="#">NFA</a><buttonid="copy-path"title="Copy item path to clipboard"><imgsrc="../../../static.files/clipboard-7571035ce49a181d.svg"width="19"height="18"alt="Copy item path"></button></h1><spanclass="out-of-band"><aclass="src"href="../../../src/aho_corasick/nfa/contiguous.rs.html#91-120">source</a> · <buttonid="toggle-all-docs"title="collapse all docs">[<span>−</span>]</button></span></div><preclass="rust item-decl"><code>pub struct NFA { <spanclass="comment">/* private fields */</span> }</code></pre><detailsclass="toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>A contiguous NFA implementation of Aho-Corasick.</p>
<p>When possible, prefer using <ahref="../../struct.AhoCorasick.html"title="struct aho_corasick::AhoCorasick"><code>AhoCorasick</code></a> instead of
this type directly. Using an <code>NFA</code> directly is typically only necessary
when one needs access to the <ahref="../../automaton/trait.Automaton.html"title="trait aho_corasick::automaton::Automaton"><code>Automaton</code></a> trait implementation.</p>
<p>This NFA can only be built by first constructing a <ahref="../noncontiguous/struct.NFA.html"title="struct aho_corasick::nfa::noncontiguous::NFA"><code>noncontiguous::NFA</code></a>.
Both <ahref="struct.NFA.html#method.new"title="associated function aho_corasick::nfa::contiguous::NFA::new"><code>NFA::new</code></a> and <ahref="struct.Builder.html#method.build"title="method aho_corasick::nfa::contiguous::Builder::build"><code>Builder::build</code></a> do this for you automatically, but
<ahref="struct.Builder.html#method.build_from_noncontiguous"title="method aho_corasick::nfa::contiguous::Builder::build_from_noncontiguous"><code>Builder::build_from_noncontiguous</code></a> permits doing it explicitly.</p>
<p>The main difference between a noncontiguous NFA and a contiguous NFA is
that the latter represents all of its states and transitions in a single
allocation, where as the former uses a separate allocation for each state.
Doing this at construction time while keeping a low memory footprint isn’t
feasible, which is primarily why there are two different NFA types: one
that does the least amount of work possible to build itself, and another
that does a little extra work to compact itself and make state transitions
faster by making some states use a dense representation.</p>
<p>Because a contiguous NFA uses a single allocation, there is a lot more
opportunity for compression tricks to reduce the heap memory used. Indeed,
it is not uncommon for a contiguous NFA to use an order of magnitude less
heap memory than a noncontiguous NFA. Since building a contiguous NFA
usually only takes a fraction of the time it takes to build a noncontiguous
NFA, the overall build time is not much slower. Thus, in most cases, a
contiguous NFA is the best choice.</p>
<p>Since a contiguous NFA uses various tricks for compression and to achieve
faster state transitions, currently, its limit on the number of states
is somewhat smaller than what a noncontiguous NFA can achieve. Generally
speaking, you shouldn’t expect to run into this limit if the number of
patterns is under 1 million. It is plausible that this limit will be
increased in the future. If the limit is reached, building a contiguous NFA
will return an error. Often, since building a contiguous NFA is relatively
cheap, it can make sense to always try it even if you aren’t sure if it
will fail or not. If it does, you can always fall back to a noncontiguous
NFA. (Indeed, the main <ahref="../../struct.AhoCorasick.html"title="struct aho_corasick::AhoCorasick"><code>AhoCorasick</code></a> type employs a
strategy similar to this at construction time.)</p>
<p>It is also possible to implement your own version of <code>try_find</code>. See the
<ahref="../../automaton/trait.Automaton.html"title="trait aho_corasick::automaton::Automaton"><code>Automaton</code></a> documentation for an example.</p>
P: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.AsRef.html"title="trait core::convert::AsRef">AsRef</a><[<aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.u8.html">u8</a>]>,</div></h4></section></summary><divclass="docblock"><p>Create a new Aho-Corasick contiguous NFA using the default
<p>Use a <ahref="struct.Builder.html"title="struct aho_corasick::nfa::contiguous::Builder"><code>Builder</code></a> if you want to change the configuration.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.builder"class="method"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#139-141">source</a><h4class="code-header">pub fn <ahref="#method.builder"class="fn">builder</a>() -><aclass="struct"href="struct.Builder.html"title="struct aho_corasick::nfa::contiguous::Builder">Builder</a></h4></section></summary><divclass="docblock"><p>A convenience method for returning a new Aho-Corasick contiguous NFA
builder.</p>
<p>This usually permits one to just import the <code>NFA</code> type.</p>
</div></details></div></details></div><h2id="trait-implementations"class="section-header">Trait Implementations<ahref="#trait-implementations"class="anchor">§</a></h2><divid="trait-implementations-list"><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Automaton-for-NFA"class="impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#176-322">source</a><ahref="#impl-Automaton-for-NFA"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="../../automaton/trait.Automaton.html"title="trait aho_corasick::automaton::Automaton">Automaton</a> for <aclass="struct"href="struct.NFA.html"title="struct aho_corasick::nfa::contiguous::NFA">NFA</a></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.start_state"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#178-183">source</a><ahref="#method.start_state"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.start_state"class="fn">start_state</a>(&self, anchored: <aclass="enum"href="../../enum.Anchored.html"title="enum aho_corasick::Anchored">Anchored</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.77.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="struct"href="../../automaton/struct.StateID.html"title="struct aho_corasick::automaton::StateID">StateID</a>, <aclass="struct"href="../../struct.MatchError.html"title="struct aho_corasick::MatchError">MatchError</a>></h4></section></summary><divclass='docblock'>Returns the starting state for the given anchor mode. <ahref="../../automaton/trait.Automaton.html#tymethod.start_state">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.next_state"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#186-247">source</a><ahref="#method.next_state"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.next_state"class="fn">next_state</a>(&self, anchored: <aclass="enum"href="../../enum.Anchored.html"title="enum aho_corasick::Anchored">Anchored</a>, sid: <aclass="struct"href="../../automaton/struct.StateID.html"title="struct aho_corasick::automaton::StateID">StateID</a>, byte: <aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.u8.html">u8</a>) -><aclass="struct"href="../../automaton/struct.StateID.html"title="struct aho_corasick::automaton::StateID">StateID</a></h4></section></summary><divclass='docblock'>Performs a state transition from <code>sid</code> for <code>byte</code> and returns the next
state. <ahref="../../automaton/trait.Automaton.html#tymethod.next_state">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.is_special"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#250-252">source</a><ahref="#method.is_special"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.is_special"class="fn">is_special</a>(&self, sid: <aclass="struct"href="../../automaton/struct.StateID.html"title="struct aho_corasick::automaton::StateID">StateID</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>Returns true if the given ID represents a “special” state. A special
state is a dead, match or start state. <ahref="../../automaton/trait.Automaton.html#tymethod.is_special">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.is_dead"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#255-257">source</a><ahref="#method.is_dead"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.is_dead"class="fn">is_dead</a>(&self, sid: <aclass="struct"href="../../automaton/struct.StateID.html"title="struct aho_corasick::automaton::StateID">StateID</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>Returns true if the given ID represents a dead state. <ahref="../../automaton/trait.Automaton.html#tymethod.is_dead">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.is_match"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#260-262">source</a><ahref="#method.is_match"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.is_match"class="fn">is_match</a>(&self, sid: <aclass="struct"href="../../automaton/struct.StateID.html"title="struct aho_corasick::automaton::StateID">StateID</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>Returns true if the given ID represents a match state. <ahref="../../automaton/trait.Automaton.html#tymethod.is_match">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.is_start"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#265-268">source</a><ahref="#method.is_start"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.is_start"class="fn">is_start</a>(&self, sid: <aclass="struct"href="../../automaton/struct.StateID.html"title="struct aho_corasick::automaton::StateID">StateID</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>Returns true if the given ID represents a start state. <ahref="../../automaton/trait.Automaton.html#tymethod.is_start">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.match_kind"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#271-273">source</a><ahref="#method.match_kind"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.match_kind"class="fn">match_kind</a>(&self) -><aclass="enum"href="../../enum.MatchKind.html"title="enum aho_corasick::MatchKind">MatchKind</a></h4></section></summary><divclass='docblock'>Returns the match semantics that this automaton was built with.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.patterns_len"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#276-278">source</a><ahref="#method.patterns_len"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.patterns_len"class="fn">patterns_len</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.usize.html">usize</a></h4></section></summary><divclass='docblock'>Returns the total number of patterns compiled into this automaton.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.pattern_len"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#281-283">source</a><ahref="#method.pattern_len"class="anchor">§</a><h4class="code-header">fn <ahref="../../au
automaton.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.max_pattern_len"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#291-293">source</a><ahref="#method.max_pattern_len"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.max_pattern_len"class="fn">max_pattern_len</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.usize.html">usize</a></h4></section></summary><divclass='docblock'>Returns the length, in bytes, of the longest pattern in this automaton.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.match_len"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#296-298">source</a><ahref="#method.match_len"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.match_len"class="fn">match_len</a>(&self, sid: <aclass="struct"href="../../automaton/struct.StateID.html"title="struct aho_corasick::automaton::StateID">StateID</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.usize.html">usize</a></h4></section></summary><divclass='docblock'>Returns the total number of matches for the given state ID. <ahref="../../automaton/trait.Automaton.html#tymethod.match_len">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.match_pattern"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#301-307">source</a><ahref="#method.match_pattern"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.match_pattern"class="fn">match_pattern</a>(&self, sid: <aclass="struct"href="../../automaton/struct.StateID.html"title="struct aho_corasick::automaton::StateID">StateID</a>, index: <aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.usize.html">usize</a>) -><aclass="struct"href="../../struct.PatternID.html"title="struct aho_corasick::PatternID">PatternID</a></h4></section></summary><divclass='docblock'>Returns the pattern ID for the match state given by <code>sid</code> at the
<code>index</code> given. <ahref="../../automaton/trait.Automaton.html#tymethod.match_pattern">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.memory_usage"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#310-316">source</a><ahref="#method.memory_usage"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.memory_usage"class="fn">memory_usage</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.usize.html">usize</a></h4></section></summary><divclass='docblock'>Returns the heap memory usage, in bytes, used by this automaton.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.prefilter"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#319-321">source</a><ahref="#method.prefilter"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#tymethod.prefilter"class="fn">prefilter</a>(&self) -><aclass="enum"href="https://doc.rust-lang.org/1.77.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="struct"href="../../automaton/struct.Prefilter.html"title="struct aho_corasick::automaton::Prefilter">Prefilter</a>></h4></section></summary><divclass='docblock'>Returns a prefilter, if available, that can be used to accelerate
searches for this automaton. <ahref="../../automaton/trait.Automaton.html#tymethod.prefilter">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_find"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/automaton.rs.html#354-359">source</a><ahref="#method.try_find"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#method.try_find"class="fn">try_find</a>(&self, input: &<aclass="struct"href="../../struct.Input.html"title="struct aho_corasick::Input">Input</a><'_>) -><aclass="enum"href="https://doc.rust-lang.org/1.77.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="enum"href="https://doc.rust-lang.org/1.77.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="struct"href="../../struct.Match.html"title="struct aho_corasick::Match">Match</a>>, <aclass="struct"href="../../struct.MatchError.html"title="struct aho_corasick::MatchError">MatchError</a>></h4></section></summary><divclass='docblock'>Executes a non-overlapping search with this automaton using the given
) -><aclass="enum"href="https://doc.rust-lang.org/1.77.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.unit.html">()</a>, <aclass="struct"href="../../struct.MatchError.html"title="struct aho_corasick::MatchError">MatchError</a>></h4></section></summary><divclass='docblock'>Executes a overlapping search with this automaton using the given
Self: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><divclass='docblock'>Returns an iterator of non-overlapping matches with this automaton
using the given configuration. <ahref="../../automaton/trait.Automaton.html#method.try_find_iter">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_find_overlapping_iter"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/automaton.rs.html#397-423">source</a><ahref="#method.try_find_overlapping_iter"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#method.try_find_overlapping_iter"class="fn">try_find_overlapping_iter</a><'a, 'h>(
Self: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><divclass='docblock'>Returns an iterator of overlapping matches with this automaton
using the given configuration. <ahref="../../automaton/trait.Automaton.html#method.try_find_overlapping_iter">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_replace_all"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/automaton.rs.html#433-454">source</a><ahref="#method.try_replace_all"class="anchor">§</a><h4class="code-header">fn <ahref="../../automaton/trait.Automaton.html#method.try_replace_all"class="fn">try_replace_all</a><B>(
B: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.AsRef.html"title="trait core::convert::AsRef">AsRef</a><<aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.str.html">str</a>>,</div></h4></section></summary><divclass='docblock'>Replaces all non-overlapping matches in <code>haystack</code> with
B: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.AsRef.html"title="trait core::convert::AsRef">AsRef</a><[<aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.u8.html">u8</a>]>,</div></h4></section></summary><divclass='docblock'>Replaces all non-overlapping matches in <code>haystack</code> with
F: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/ops/function/trait.FnMut.html"title="trait core::ops::function::FnMut">FnMut</a>(&<aclass="struct"href="../../struct.Match.html"title="struct aho_corasick::Match">Match</a>, &<aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.str.html">str</a>, &mut <aclass="struct"href="https://doc.rust-lang.org/1.77.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><divclass='docblock'>Replaces all non-overlapping matches in <code>haystack</code> by calling the
F: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/ops/function/trait.FnMut.html"title="trait core::ops::function::FnMut">FnMut</a>(&<aclass="struct"href="../../struct.Match.html"title="struct aho_corasick::Match">Match</a>, &[<aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.u8.html">u8</a>], &mut <aclass="struct"href="https://doc.rust-lang.org/1.77.0/alloc/vec/struct.Vec.html"title="struct alloc::vec::Vec">Vec</a><<aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.u8.html">u8</a>>) -><aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><divclass='docblock'>Replaces all non-overlapping matches in <code>haystack</code> by calling the
Self: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><divclass='docblock'>Returns an iterator of non-overlapping matches with this automaton
B: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.AsRef.html"title="trait core::convert::AsRef">AsRef</a><[<aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.u8.html">u8</a>]>,</div></h4></section></summary><divclass='docblock'>Replaces all non-overlapping matches in <code>rdr</code> with strings from
F: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/ops/function/trait.FnMut.html"title="trait core::ops::function::FnMut">FnMut</a>(&<aclass="struct"href="../../struct.Match.html"title="struct aho_corasick::Match">Match</a>, &[<aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.u8.html">u8</a>], <aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&mut W</a>) -><aclass="type"href="https://doc.rust-lang.org/1.77.0/std/io/error/type.Result.html"title="type std::io::error::Result">Result</a><<aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.unit.html">()</a>>,</div></h4></section></summary><divclass='docblock'>Replaces all non-overlapping matches in <code>rdr</code> by calling the
<code>replace_with</code> closure given and writing the result to <code>wtr</code>. <ahref="../../automaton/trait.Automaton.html#method.try_stream_replace_all_with">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Clone-for-NFA"class="impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#90">source</a><ahref="#impl-Clone-for-NFA"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a> for <aclass="struct"href="struct.NFA.html"title="struct aho_corasick::nfa::contiguous::NFA">NFA</a></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.clone"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#90">source</a><ahref="#method.clone"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html#tymethod.clone"class="fn">clone</a>(&self) -><aclass="struct"href="struct.NFA.html"title="struct aho_corasick::nfa::contiguous::NFA">NFA</a></h4></section></summary><divclass='docblock'>Returns a copy of the value. <ahref="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.clone_from"class="method trait-impl"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="src"href="https://doc.rust-lang.org/1.77.0/src/core/clone.rs.html#169">source</a></span><ahref="#method.clone_from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html#method.clone_from"class="fn">clone_from</a>(&mut self, source: <aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&Self</a>)</h4></section></summary><divclass='docblock'>Performs copy-assignment from <code>source</code>. <ahref="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Debug-for-NFA"class="impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#324-380">source</a><ahref="#impl-Debug-for-NFA"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/fmt/trait.Debug.html"title="trait core::fmt::Debug">Debug</a> for <aclass="struct"href="struct.NFA.html"title="struct aho_corasick::nfa::contiguous::NFA">NFA</a></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.fmt"class="method trait-impl"><aclass="src rightside"href="../../../src/aho_corasick/nfa/contiguous.rs.html#325-379">source</a><ahref="#method.fmt"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.77.0/core/fmt/trait.Debug.html#tymethod.fmt"class="fn">fmt</a>(&self, f: &mut <aclass="struct"href="https://doc.rust-lang.org/1.77.0/core/fmt/struct.Formatter.html"title="struct core::fmt::Formatter">Formatter</a><'_>) -><aclass="type"href="https://doc.rust-lang.org/1.77.0/core/fmt/type.Result.html"title="type core::fmt::Result">Result</a></h4></section></summary><divclass='docblock'>Formats the value using the given formatter. <ahref="https://doc.rust-lang.org/1.77.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details></div><h2id="synthetic-implementations"class="section-header">Auto Trait Implementations<ahref="#synthetic-implementations"class="anchor">§</a></h2><divid="synthetic-implementations-list"><sectionid="impl-RefUnwindSafe-for-NFA"class="impl"><ahref="#impl-RefUnwindSafe-for-NFA"class="anchor">§</a><h3class="code-header">
T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.type_id"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/core/any.rs.html#141">source</a><ahref="#method.type_id"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.77.0/core/any/trait.Any.html#tymethod.type_id"class="fn">type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.77.0/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></h4></section></summary><divclass='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/1.77.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Borrow%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/core/borrow.rs.html#208">source</a><ahref="#impl-Borrow%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T<divclass="where">where
T: ?<aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.borrow"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/core/borrow.rs.html#210">source</a><ahref="#method.borrow"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.77.0/core/borrow/trait.Borrow.html#tymethod.borrow"class="fn">borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&T</a></h4></section></summary><divclass='docblock'>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/1.77.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-BorrowMut%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/core/borrow.rs.html#216">source</a><ahref="#impl-BorrowMut%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<divclass="where">where
T: ?<aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.borrow_mut"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/core/borrow.rs.html#217">source</a><ahref="#method.borrow_mut"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.77.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut"class="fn">borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&mut T</a></h4></section></summary><divclass='docblock'>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/1.77.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-From%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#764">source</a><ahref="#impl-From%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.from"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#767">source</a><ahref="#method.from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.77.0/core/convert/trait.From.html#tymethod.from"class="fn">from</a>(t: T) -> T</h4></section></summary><divclass="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Into%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#747-749">source</a><ahref="#impl-Into%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><U> for T<divclass="where">where
<code><ahref="https://doc.rust-lang.org/1.77.0/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-ToOwned-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/alloc/borrow.rs.html#83-85">source</a><ahref="#impl-ToOwned-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.77.0/alloc/borrow/trait.ToOwned.html"title="trait alloc::borrow::ToOwned">ToOwned</a> for T<divclass="where">where
T: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Owned"class="associatedtype trait-impl"><ahref="#associatedtype.Owned"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.77.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned"class="associatedtype">Owned</a> = T</h4></section></summary><divclass='docblock'>The resulting type after obtaining ownership.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.to_owned"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/alloc/borrow.rs.html#88">source</a><ahref="#method.to_owned"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.77.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned"class="fn">to_owned</a>(&self) -> T</h4></section></summary><divclass='docblock'>Creates owned data from borrowed data, usually by cloning. <ahref="https://doc.rust-lang.org/1.77.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.clone_into"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/alloc/borrow.rs.html#92">source</a><ahref="#method.clone_into"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.77.0/alloc/borrow/trait.ToOwned.html#method.clone_into"class="fn">clone_into</a>(&self, target: <aclass="primitive"href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&mut T</a>)</h4></section></summary><divclass='docblock'>Uses borrowed data to replace owned data, usually by cloning. <ahref="https://doc.rust-lang.org/1.77.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryFrom%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#804-806">source</a><ahref="#impl-TryFrom%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T<divclass="where">where
U: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error-1"class="associatedtype trait-impl"><ahref="#associatedtype.Error-1"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html#associatedtype.Error"class="associatedtype">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/1.77.0/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_from"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#811">source</a><ahref="#method.try_from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html#tymethod.try_from"class="fn">try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/1.77.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryInto%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#789-791">source</a><ahref="#impl-TryInto%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T<divclass="where">where
U: <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error"class="associatedtype trait-impl"><ahref="#associatedtype.Error"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryInto.html#associatedtype.Error"class="associatedtype">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_into"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#796">source</a><ahref="#method.try_into"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryInto.html#tymethod.try_into"class="fn">try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/1.77.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html>