<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `AhoCorasick` struct in crate `aho_corasick`."><metaname="keywords"content="rust, rustlang, rust-lang, AhoCorasick"><title>aho_corasick::AhoCorasick - Rust</title><linkrel="stylesheet"type="text/css"href="../normalize.css"><linkrel="stylesheet"type="text/css"href="../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../dark.css"><linkrel="stylesheet"type="text/css"href="../light.css"id="themeStyle"><scriptsrc="../storage.js"></script><noscript><linkrel="stylesheet"href="../noscript.css"></noscript><linkrel="shortcut icon"href="../favicon.ico"><styletype="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><bodyclass="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu">☰</div><ahref='../aho_corasick/index.html'><divclass='logo-container'><imgsrc='../rust-logo.png'alt='logo'></div></a><pclass='location'>Struct AhoCorasick</p><divclass="sidebar-elems"><divclass="block items"><aclass="sidebar-title"href="#methods">Methods</a><divclass="sidebar-links"><ahref="#method.earliest_find">earliest_find</a><ahref="#method.find">find</a><ahref="#method.find_iter">find_iter</a><ahref="#method.find_overlapping_iter">find_overlapping_iter</a><ahref="#method.heap_bytes">heap_bytes</a><ahref="#method.is_match">is_match</a><ahref="#method.match_kind">match_kind</a><ahref="#method.max_pattern_len">max_pattern_len</a><ahref="#method.new">new</a><ahref="#method.new_auto_configured">new_auto_configured</a><ahref="#method.pattern_count">pattern_count</a><ahref="#method.replace_all">replace_all</a><ahref="#method.replace_all_bytes">replace_all_bytes</a><ahref="#method.replace_all_with">replace_all_with</a><ahref="#method.replace_all_with_bytes">replace_all_with_bytes</a><ahref="#method.stream_find_iter">stream_find_iter</a><ahref="#method.stream_replace_all">stream_replace_all</a><ahref="#method.stream_replace_all_with">stream_replace_all_with</a><ahref="#method.supports_overlapping">supports_overlapping</a><ahref="#method.supports_stream">supports_stream</a></div><aclass="sidebar-title"href="#implementations">Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-Clone">Clone</a><ahref="#impl-Debug">Debug</a></div><aclass="sidebar-title"href="#synthetic-implementations">Auto Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-RefUnwindSafe">RefUnwindSafe</a><ahref="#impl-Send">Send</a><ahref="#impl-Sync">Sync</a><ahref="#impl-Unpin">Unpin</a><ahref="#impl-UnwindSafe">UnwindSafe</a></div><aclass="sidebar-title"href="#blanket-implementations">Blanket Implementations</a><divclass="sidebar-links"><ahref="#impl-Any">Any</a><ahref="#impl-Borrow%3CT%3E">Borrow<T></a><ahref="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><ahref="#impl-From%3CT%3E">From<T></a><ahref="#impl-Into%3CU%3E">Into<U></a><ahref="#impl-ToOwned">ToOwned</a><ahref="#impl-TryFrom%3CU%3E">TryFrom<U></a><ahref="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><pclass='location'><ahref='index.html'>aho_corasick</a></p><script>window.sidebarCurrent={name:'AhoCorasick',ty:'struct',relpath:''};</script><scriptdefersrc="sidebar-items.js"></script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"><imgsrc="../brush.svg"width="18"alt="Pick another theme!"></button><divid="theme-choices"></div></div><scriptsrc="../theme.js"></script><navclass="sub"><formclass="search-form js-only"><divclass="search-container"><div><selectid="crate-search"><optionvalue="All crates">All crates</option></select><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"p
<p>The <code>AhoCorasick</code> type supports a few basic ways of constructing an
<spanclass="kw">let</span><spanclass="ident">haystack</span><spanclass="op">=</span><spanclass="string">"Nobody likes maple in their apple flavored Snapple."</span>;
<spanclass="macro">assert_eq</span><spanclass="macro">!</span>(<spanclass="prelude-val">Some</span>(<spanclass="number">1</span>), <spanclass="ident">ac</span>.<spanclass="ident">find</span>(<spanclass="string">"xxx bar xxx"</span>).<spanclass="ident">map</span>(<spanclass="op">|</span><spanclass="ident">m</span><spanclass="op">|</span><spanclass="ident">m</span>.<spanclass="ident">pattern</span>()));</pre></div>
</div><h4id='method.new_auto_configured'class="method"><codeid='new_auto_configured.v'>pub fn <ahref='#method.new_auto_configured'class='fnname'>new_auto_configured</a><B>(patterns: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[B]</a>) -><aclass="struct"href="../aho_corasick/struct.AhoCorasick.html"title="struct aho_corasick::AhoCorasick">AhoCorasick</a><spanclass="where fmt-newline">where<br> B: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"title="trait core::convert::AsRef">AsRef</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#154-159'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Build an Aho-Corasick automaton with an automatically determined
configuration.</p>
<p>Specifically, this requires a slice of patterns instead of an iterator
since the configuration is determined by looking at the patterns before
constructing the automaton. The idea here is to balance space and time
automatically. That is, when searching a small number of patterns, this
will attempt to use the fastest possible configuration since the total
space required will be small anyway. As the number of patterns grows,
this will fall back to slower configurations that use less space.</p>
<p>If you want auto configuration but with match semantics different from
the default <code>MatchKind::Standard</code>, then use
<spanclass="macro">assert_eq</span><spanclass="macro">!</span>(<spanclass="prelude-val">Some</span>(<spanclass="number">1</span>), <spanclass="ident">ac</span>.<spanclass="ident">find</span>(<spanclass="string">"xxx bar xxx"</span>).<spanclass="ident">map</span>(<spanclass="op">|</span><spanclass="ident">m</span><spanclass="op">|</span><spanclass="ident">m</span>.<spanclass="ident">pattern</span>()));</pre></div>
</div></div><h3id='impl-1'class='impl'><codeclass='in-band'>impl<S: <aclass="trait"href="../aho_corasick/trait.StateID.html"title="trait aho_corasick::StateID">StateID</a>><aclass="struct"href="../aho_corasick/struct.AhoCorasick.html"title="struct aho_corasick::AhoCorasick">AhoCorasick</a><S></code><ahref='#impl-1'class='anchor'></a><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#162-992'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.is_match'class="method"><codeid='is_match.v'>pub fn <ahref='#method.is_match'class='fnname'>is_match</a><B: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"title="trait core::convert::AsRef">AsRef</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(&self, haystack: B) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#183-185'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Returns true if and only if this automaton matches the haystack at any
position.</p>
<p><code>haystack</code> may be any type that is cheaply convertible to a <code>&[u8]</code>.
This includes, but is not limited to, <code>String</code>, <code>&str</code>, <code>Vec<u8></code>, and
<spanclass="macro">assert</span><spanclass="macro">!</span>(<spanclass="ident">ac</span>.<spanclass="ident">is_match</span>(<spanclass="string">"xxx bar xxx"</span>));
</div><h4id='method.earliest_find'class="method"><codeid='earliest_find.v'>pub fn <ahref='#method.earliest_find'class='fnname'>earliest_find</a><B: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"title="trait core::convert::AsRef">AsRef</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(&self, haystack: B) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="struct"href="../aho_corasick/struct.Match.html"title="struct aho_corasick::Match">Match</a>></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#211-220'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Returns the location of the first detected match in <code>haystack</code>.</p>
<p>This method has the same behavior regardless of the
<spanclass="kw">let</span><spanclass="ident">mat</span><spanclass="op">=</span><spanclass="ident">ac</span>.<spanclass="ident">earliest_find</span>(<spanclass="string">"abcd"</span>).<spanclass="ident">expect</span>(<spanclass="string">"should have match"</span>);
</div><h4id='method.find'class="method"><codeid='find.v'>pub fn <ahref='#method.find'class='fnname'>find</a><B: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"title="trait core::convert::AsRef">AsRef</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(&self, haystack: B) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="struct"href="../aho_corasick/struct.Match.html"title="struct aho_corasick::Match">Match</a>></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#283-286'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Returns the location of the first match according to the match
semantics that this automaton was constructed with.</p>
<p>When using <code>MatchKind::Standard</code>, this corresponds precisely to the
.<spanclass="ident">match_kind</span>(<spanclass="ident">MatchKind</span>::<spanclass="ident">Standard</span>) <spanclass="comment">// default, not necessary</span>
<spanclass="kw">let</span><spanclass="ident">mat</span><spanclass="op">=</span><spanclass="ident">ac</span>.<spanclass="ident">find</span>(<spanclass="ident">haystack</span>).<spanclass="ident">expect</span>(<spanclass="string">"should have a match"</span>);
<spanclass="kw">let</span><spanclass="ident">mat</span><spanclass="op">=</span><spanclass="ident">ac</span>.<spanclass="ident">find</span>(<spanclass="ident">haystack</span>).<spanclass="ident">expect</span>(<spanclass="string">"should have a match"</span>);
<spanclass="kw">let</span><spanclass="ident">mat</span><spanclass="op">=</span><spanclass="ident">ac</span>.<spanclass="ident">find</span>(<spanclass="ident">haystack</span>).<spanclass="ident">expect</span>(<spanclass="string">"should have a match"</span>);
<spanclass="kw">let</span><spanclass="ident">haystack</span><spanclass="op">=</span><spanclass="string">"append the app to the appendage"</span>;
.<spanclass="ident">match_kind</span>(<spanclass="ident">MatchKind</span>::<spanclass="ident">Standard</span>) <spanclass="comment">// default, not necessary</span>
<spanclass="kw">let</span><spanclass="ident">haystack</span><spanclass="op">=</span><spanclass="string">"append the app to the appendage"</span>;
<spanclass="kw">let</span><spanclass="ident">haystack</span><spanclass="op">=</span><spanclass="string">"append the app to the appendage"</span>;
<spanclass="kw">let</span><spanclass="ident">haystack</span><spanclass="op">=</span><spanclass="string">"append the app to the appendage"</span>;
</div><h4id='method.replace_all'class="method"><codeid='replace_all.v'>pub fn <ahref='#method.replace_all'class='fnname'>replace_all</a><B>(&self, haystack: &<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, replace_with: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[B]</a>) -><aclass="struct"href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"title="struct alloc::string::String">String</a><spanclass="where fmt-newline">where<br> B: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"title="trait core::convert::AsRef">AsRef</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>>, </span></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#429-445'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Replace all matches with a corresponding value in the <code>replace_with</code>
slice given. Matches correspond to the same matches as reported by
<spanclass="kw">let</span><spanclass="ident">haystack</span><spanclass="op">=</span><spanclass="string">"append the app to the appendage"</span>;
<spanclass="macro">assert_eq</span><spanclass="macro">!</span>(<spanclass="string">"x the z to the xage"</span>, <spanclass="ident">result</span>);</pre></div>
</div><h4id='method.replace_all_bytes'class="method"><codeid='replace_all_bytes.v'>pub fn <ahref='#method.replace_all_bytes'class='fnname'>replace_all_bytes</a><B>(<br> &self, <br> haystack: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br> replace_with: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[B]</a><br>) -><aclass="struct"href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html"title="struct alloc::vec::Vec">Vec</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>><spanclass="where fmt-newline">where<br> B: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html"title="trait core::convert::AsRef">AsRef</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#476-496'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Replace all matches using raw bytes with a corresponding value in the
<code>replace_with</code> slice given. Matches correspond to the same matches as
reported by <ahref="struct.AhoCorasick.html#method.find_iter"><code>find_iter</code></a>.</p>
<p>Replacements are determined by the index of the matching pattern.
For example, if the pattern with index <code>2</code> is found, then it is
<spanclass="kw">let</span><spanclass="ident">haystack</span><spanclass="op">=</span><spanclass="string">b"append the app to the appendage"</span>;
<spanclass="macro">assert_eq</span><spanclass="macro">!</span>(<spanclass="string">b"x the z to the xage"</span>.<spanclass="ident">to_vec</span>(), <spanclass="ident">result</span>);</pre></div>
</div><h4id='method.replace_all_with'class="method"><codeid='replace_all_with.v'>pub fn <ahref='#method.replace_all_with'class='fnname'>replace_all_with</a><F>(<br> &self, <br> haystack: &<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br> dst: &mut <aclass="struct"href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"title="struct alloc::string::String">String</a>, <br> replace_with: F<br>) <spanclass="where fmt-newline">where<br> F: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html"title="trait core::ops::function::FnMut">FnMut</a>(&<aclass="struct"href="../aho_corasick/struct.Match.html"title="struct aho_corasick::Match">Match</a>, &<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, &mut <aclass="struct"href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"title="struct alloc::string::String">String</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, </span></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#527-542'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Replace all matches using a closure called on each match.
Matches correspond to the same matches as reported by
<spanclass="kw">let</span><spanclass="ident">haystack</span><spanclass="op">=</span><spanclass="string">"append the app to the appendage"</span>;
<spanclass="macro">assert_eq</span><spanclass="macro">!</span>(<spanclass="string">"0 the 2 to the 0age"</span>, <spanclass="ident">result</span>);</pre></div>
</div><h4id='method.replace_all_with_bytes'class="method"><codeid='replace_all_with_bytes.v'>pub fn <ahref='#method.replace_all_with_bytes'class='fnname'>replace_all_with_bytes</a><F>(<br> &self, <br> haystack: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br> dst: &mut <aclass="struct"href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html"title="struct alloc::vec::Vec">Vec</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>, <br> replace_with: F<br>) <spanclass="where fmt-newline">where<br> F: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html"title="trait core::ops::function::FnMut">FnMut</a>(&<aclass="struct"href="../aho_corasick/struct.Match.html"title="struct aho_corasick::Match">Match</a>, <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, &mut <aclass="struct"href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html"title="struct alloc::vec::Vec">Vec</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, </span></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#573-588'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Replace all matches using raw bytes with a closure called on each
match. Matches correspond to the same matches as reported by
<spanclass="kw">let</span><spanclass="ident">haystack</span><spanclass="op">=</span><spanclass="string">b"append the app to the appendage"</span>;
<spanclass="macro">assert_eq</span><spanclass="macro">!</span>(<spanclass="string">b"0 the 2 to the 0age"</span>.<spanclass="ident">to_vec</span>(), <spanclass="ident">result</span>);</pre></div>
</div><h4id='method.stream_find_iter'class="method"><divclass="important-traits"><divclass='tooltip'>ⓘ<spanclass='tooltiptext'>Important traits for <aclass="struct"href="../aho_corasick/struct.StreamFindIter.html"title="struct aho_corasick::StreamFindIter">StreamFindIter</a><'a, R, S></span></div><divclass="content hidden"><h3class="important">Important traits for <aclass="struct"href="../aho_corasick/struct.StreamFindIter.html"title="struct aho_corasick::StreamFindIter">StreamFindIter</a><'a, R, S></h3><codeclass="content"><spanclass="where fmt-newline">impl<'a, R: <aclass="trait"href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html"title="trait std::io::Read">Read</a>, S: <aclass="trait"href="../aho_corasick/trait.StateID.html"title="trait aho_corasick::StateID">StateID</a>><aclass="trait"href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <aclass="struct"href="../aho_corasick/struct.StreamFindIter.html"title="struct aho_corasick::StreamFindIter">StreamFindIter</a><'a, R, S></span><spanclass="where fmt-newline"> type <ahref='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item'class="type">Item</a> = <aclass="type"href="https://doc.rust-lang.org/nightly/std/io/error/type.Result.html"title="type std::io::error::Result">Result</a><<aclass="struct"href="../aho_corasick/struct.Match.html"title="struct aho_corasick::Match">Match</a>>;</span></code></div></div><codeid='stream_find_iter.v'>pub fn <ahref='#method.stream_find_iter'class='fnname'>stream_find_iter</a><'a, R: <aclass="trait"href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html"title="trait std::io::Read">Read</a>>(<br> &'a self, <br> rdr: R<br>) -><aclass="struct"href="../aho_corasick/struct.StreamFindIter.html"title="struct aho_corasick::StreamFindIter">StreamFindIter</a><'a, R, S></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#645-650'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Returns an iterator of non-overlapping matches in the given
stream. Matches correspond to the same matches as reported by
<spanclass="kw">let</span><spanclass="ident">haystack</span><spanclass="op">=</span><spanclass="string">"append the app to the appendage"</span>;
</div><h4id='method.match_kind'class="method"><codeid='match_kind.v'>pub fn <ahref='#method.match_kind'class='fnname'>match_kind</a>(&self) ->&<aclass="enum"href="../aho_corasick/enum.MatchKind.html"title="enum aho_corasick::MatchKind">MatchKind</a></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#837-839'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Returns the match kind used by this automaton.</p>
</div><h4id='method.max_pattern_len'class="method"><codeid='max_pattern_len.v'>pub fn <ahref='#method.max_pattern_len'class='fnname'>max_pattern_len</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#855-857'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Returns the length of the longest pattern matched by this automaton.</p>
</div><h4id='method.pattern_count'class="method"><codeid='pattern_count.v'>pub fn <ahref='#method.pattern_count'class='fnname'>pattern_count</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#880-882'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Return the total number of patterns matched by this automaton.</p>
<p>This includes patterns that may never participate in a match. For
</div><h4id='method.supports_overlapping'class="method"><codeid='supports_overlapping.v'>pub fn <ahref='#method.supports_overlapping'class='fnname'>supports_overlapping</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#912-914'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Returns true if and only if this automaton supports reporting
overlapping matches.</p>
<p>If this returns false and overlapping matches are requested, then it
will result in a panic.</p>
<p>Since leftmost matching is inherently incompatible with overlapping
</div><h4id='method.supports_stream'class="method"><codeid='supports_stream.v'>pub fn <ahref='#method.supports_stream'class='fnname'>supports_stream</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#942-944'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Returns true if and only if this automaton supports stream searching.</p>
<p>If this returns false and stream searching (or replacing) is attempted,
</div><h4id='method.heap_bytes'class="method"><codeid='heap_bytes.v'>pub fn <ahref='#method.heap_bytes'class='fnname'>heap_bytes</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#986-991'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Returns the approximate total amount of heap used by this automaton, in
<p>This example shows the difference in heap usage between a few
configurations:</p>
<divclass='information'><divclass='tooltip ignore'>ⓘ<spanclass='tooltiptext'>This example is not tested</span></div></div><divclass="example-wrap"><preclass="rust rust-example-rendered ignore">
</div></div><h2id='implementations'class='small-section-header'>Trait Implementations<ahref='#implementations'class='anchor'></a></h2><divid='implementations-list'><h3id='impl-Clone'class='impl'><codeclass='in-band'>impl<S: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a> + <aclass="trait"href="../aho_corasick/trait.StateID.html"title="trait aho_corasick::StateID">StateID</a>><aclass="trait"href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a> for <aclass="struct"href="../aho_corasick/struct.AhoCorasick.html"title="struct aho_corasick::AhoCorasick">AhoCorasick</a><S></code><ahref='#impl-Clone'class='anchor'></a><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#85'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.clone'class="method hidden"><codeid='clone.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone'class='fnname'>clone</a>(&self) -><aclass="struct"href="../aho_corasick/struct.AhoCorasick.html"title="struct aho_corasick::AhoCorasick">AhoCorasick</a><S></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#85'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Returns a copy of the value. <ahref="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4id='method.clone_from'class="method hidden"><codeid='clone_from.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from'class='fnname'>clone_from</a>(&mut self, source: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><spanclass='since'title='Stable since Rust version 1.0.0'>1.0.0</span><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#131-133'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <ahref="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></div><h3id='impl-Debug'class='impl'><codeclass='in-band'>impl<S: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html"title="trait core::fmt::Debug">Debug</a> + <aclass="trait"href="../aho_corasick/trait.StateID.html"title="trait aho_corasick::StateID">StateID</a>><aclass="trait"href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html"title="trait core::fmt::Debug">Debug</a> for <aclass="struct"href="../aho_corasick/struct.AhoCorasick.html"title="struct aho_corasick::AhoCorasick">AhoCorasick</a><S></code><ahref='#impl-Debug'class='anchor'></a><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#85'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.fmt'class="method hidden"><codeid='fmt.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt'class='fnname'>fmt</a>(&self, f: &mut <aclass="struct"href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html"title="struct core::fmt::Formatter">Formatter</a>) -><aclass="type"href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html"title="type core::fmt::Result">Result</a></code><aclass='srclink'href='../src/aho_corasick/ahocorasick.rs.html#85'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Formats the value using the given formatter. <ahref="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></div><h3id='impl-ToOwned'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html"title="trait alloc::borrow::ToOwned">ToOwned</a> for T <spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>, </span></code><ahref='#impl-ToOwned'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-92'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedtype.Owned'class="type"><codeid='Owned.t'>type <ahref='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned'class="type">Owned</a> = T</code></h4><divclass='docblock'><p>The resulting type after obtaining ownership.</p>
</div><h4id='method.to_owned'class="method hidden"><codeid='to_owned.v'>fn <ahref='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned'class='fnname'>to_owned</a>(&self) -> T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#85-87'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div><h4id='method.clone_into'class="method hidden"><codeid='clone_into.v'>fn <ahref='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into'class='fnname'>clone_into</a>(&self, target: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#89-91'title='goto source code'>[src]</a></h4><divclass='stability hidden'><divclass='stab unstable'><details><summary><spanclass='emoji'>🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><divclass='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></div><h3id='impl-TryFrom%3CU%3E'class='impl'><codeclass='in-band'>impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>, </span></code><ahref='#impl-TryFrom%3CU%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#571-577'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedtype.Error'class="type"><codeid='Error.t'>type <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error'class="type">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id='method.try_from'class="method hidden"><codeid='try_from.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from'class='fnname'>try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#574-576'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id='impl-TryInto%3CU%3E'class='impl'><codeclass='in-band'>impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><ahref='#impl-TryInto%3CU%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#559-566'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedtype.Error-1'class="type"><codeid='Error.t-1'>type <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error'class="type">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id='method.try_into'class="method hidden"><codeid='try_into.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into'class='fnname'>try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#563-565'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id='impl-BorrowMut%3CT%3E'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-BorrowMut%3CT%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.borrow_mut'class="method hidden"><codeid='borrow_mut.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut'class='fnname'>borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3id='impl-Borrow%3CT%3E'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-Borrow%3CT%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-215'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.borrow'class="method hidden"><codeid='borrow.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow'class='fnname'>borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3id='impl-Any'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html"title="trait core::any::Any">Any</a> for T <spanclass="where fmt-newline">where<br> T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-Any'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#100-102'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.type_id'class="method hidden"><codeid='type_id.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id'class='fnname'>type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#101'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div></div></section><sectionid="search"class="content hidden"></section><sectionclass="footer"></section><asideid="help"class="hidden"><div><h1class="hidden">Help</h1><divclass="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd>↑</kbd></dt><dd>Move up in search results</dd><dt><kbd>↓</kbd></dt><dd>Move down in search results</dd><dt><kbd>↹</kbd></dt><dd>Switch tab</dd><dt><kbd>⏎</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><divclass="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><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath="../";window.currentCrate="aho_corasick";</script><scriptsrc="../aliases.js"></script><scriptsrc="../main.js"></script><scriptdefersrc="../search-index.js"></script></body></html>