Files
tantivy/master/fst/trait.Automaton.html
2019-06-16 03:00:46 +00:00

72 lines
60 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="API documentation for the Rust `Automaton` trait in crate `fst`."><meta name="keywords" content="rust, rustlang, rust-lang, Automaton"><title>fst::Automaton - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../dark.css"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="../favicon.ico"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../fst/index.html'><img src='../rust-logo.png' alt='logo' width='100'></a><p class='location'>Trait Automaton</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.State">State</a></div><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.accept">accept</a><a href="#tymethod.is_match">is_match</a><a href="#tymethod.start">start</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.can_match">can_match</a><a href="#method.complement">complement</a><a href="#method.intersection">intersection</a><a href="#method.starts_with">starts_with</a><a href="#method.union">union</a><a href="#method.will_always_match">will_always_match</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-Automaton">&amp;&#39;a T</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='index.html'>fst</a></p><script>window.sidebarCurrent = {name: 'Automaton', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../src/fst/automaton/mod.rs.html#24-96' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='index.html'>fst</a>::<wbr><a class="trait" href=''>Automaton</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust trait'>pub trait Automaton {
type <a href='#associatedtype.State' class="type">State</a>;
fn <a href='#tymethod.start' class='fnname'>start</a>(&amp;self) -&gt; Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>;
<div class='item-spacer'></div> fn <a href='#tymethod.is_match' class='fnname'>is_match</a>(&amp;self, state: &amp;Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
<div class='item-spacer'></div> fn <a href='#tymethod.accept' class='fnname'>accept</a>(&amp;self, state: &amp;Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>, byte: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>) -&gt; Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>;
fn <a href='#method.can_match' class='fnname'>can_match</a>(&amp;self, _state: &amp;Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<div class='item-spacer'></div> fn <a href='#method.will_always_match' class='fnname'>will_always_match</a>(&amp;self, _state: &amp;Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<div class='item-spacer'></div> fn <a href='#method.starts_with' class='fnname'>starts_with</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.StartsWith.html" title="struct fst::automaton::StartsWith">StartsWith</a>&lt;Self&gt;<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>,
{ ... }
<div class='item-spacer'></div> fn <a href='#method.union' class='fnname'>union</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Union.html" title="struct fst::automaton::Union">Union</a>&lt;Self, Rhs&gt;<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>,
{ ... }
<div class='item-spacer'></div> fn <a href='#method.intersection' class='fnname'>intersection</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Intersection.html" title="struct fst::automaton::Intersection">Intersection</a>&lt;Self, Rhs&gt;<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>,
{ ... }
<div class='item-spacer'></div> fn <a href='#method.complement' class='fnname'>complement</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.Complement.html" title="struct fst::automaton::Complement">Complement</a>&lt;Self&gt;<br>&nbsp;&nbsp;&nbsp; <span class="where">where<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>,
{ ... }
}</pre></div><div class='docblock'><p>Automaton describes types that behave as a finite automaton.</p>
<p>All implementors of this trait are represented by <em>byte based</em> automata.
Stated differently, all transitions in the automata correspond to a single
byte in the input.</p>
<p>This implementation choice is important for a couple reasons:</p>
<ol>
<li>The set of possible transitions in each node is small, which may make
efficient memory usage easier.</li>
<li>The finite state transducers in this crate are all byte based, so any
automata used on them must also be byte based.</li>
</ol>
<p>In practice, this does present somewhat of a problem, for example, if
you're storing UTF-8 encoded strings in a finite state transducer. Consider
using a <code>Levenshtein</code> automaton, which accepts a query string and an edit
distance. The edit distance should apply to some notion of <em>character</em>,
which could be represented by at least 1-4 bytes in a UTF-8 encoding (for
some definition of &quot;character&quot;). Therefore, the automaton must have UTF-8
decoding built into it. This can be tricky to implement, so you may find
the <a href="https://crates.io/crates/utf8-ranges"><code>utf8-ranges</code></a> crate useful.</p>
</div>
<h2 id='associated-types' class='small-section-header'>Associated Types<a href='#associated-types' class='anchor'></a></h2><div class='methods'><h3 id='associatedtype.State' class='method'><code id='State.t'>type <a href='#associatedtype.State' class="type">State</a></code></h3><div class='docblock'><p>The type of the state used in the automaton.</p>
</div></div><span class='loading-content'>Loading content...</span>
<h2 id='required-methods' class='small-section-header'>Required methods<a href='#required-methods' class='anchor'></a></h2><div class='methods'><h3 id='tymethod.start' class='method'><code id='start.v'>fn <a href='#tymethod.start' class='fnname'>start</a>(&amp;self) -&gt; Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a></code></h3><div class='docblock'><p>Returns a single start state for this automaton.</p>
<p>This method should always return the same value for each
implementation.</p>
</div><h3 id='tymethod.is_match' class='method'><code id='is_match.v'>fn <a href='#tymethod.is_match' class='fnname'>is_match</a>(&amp;self, state: &amp;Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h3><div class='docblock'><p>Returns true if and only if <code>state</code> is a match state.</p>
</div><h3 id='tymethod.accept' class='method'><code id='accept.v'>fn <a href='#tymethod.accept' class='fnname'>accept</a>(&amp;self, state: &amp;Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>, byte: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>) -&gt; Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a></code></h3><div class='docblock'><p>Return the next state given <code>state</code> and an input.</p>
</div></div><span class='loading-content'>Loading content...</span>
<h2 id='provided-methods' class='small-section-header'>Provided methods<a href='#provided-methods' class='anchor'></a></h2><div class='methods'><h3 id='method.can_match' class='method'><code id='can_match.v'>fn <a href='#method.can_match' class='fnname'>can_match</a>(&amp;self, _state: &amp;Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h3><div class='docblock'><p>Returns true if and only if <code>state</code> can lead to a match in zero or more
steps.</p>
<p>If this returns <code>false</code>, then no sequence of inputs from this state
should ever produce a match. If this does not follow, then those match
states may never be reached. In other words, behavior may be incorrect.</p>
<p>If this returns <code>true</code> even when no match is possible, then behavior
will be correct, but callers may be forced to do additional work.</p>
</div><h3 id='method.will_always_match' class='method'><code id='will_always_match.v'>fn <a href='#method.will_always_match' class='fnname'>will_always_match</a>(&amp;self, _state: &amp;Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h3><div class='docblock'><p>Returns true if and only if <code>state</code> matches and must match no matter
what steps are taken.</p>
<p>If this returns <code>true</code>, then every sequence of inputs from this state
produces a match. If this does not follow, then those match states may
never be reached. In other words, behavior may be incorrect.</p>
<p>If this returns <code>false</code> even when every sequence of inputs will lead to
a match, then behavior will be correct, but callers may be forced to do
additional work.</p>
</div><h3 id='method.starts_with' class='method'><code id='starts_with.v'>fn <a href='#method.starts_with' class='fnname'>starts_with</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.StartsWith.html" title="struct fst::automaton::StartsWith">StartsWith</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code></h3><div class='docblock'><p>Returns an automaton that matches the strings that start with something
this automaton matches.</p>
</div><h3 id='method.union' class='method'><code id='union.v'>fn <a href='#method.union' class='fnname'>union</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Union.html" title="struct fst::automaton::Union">Union</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code></h3><div class='docblock'><p>Returns an automaton that matches the strings matched by either this or
the other automaton.</p>
</div><h3 id='method.intersection' class='method'><code id='intersection.v'>fn <a href='#method.intersection' class='fnname'>intersection</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Intersection.html" title="struct fst::automaton::Intersection">Intersection</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code></h3><div class='docblock'><p>Returns an automaton that matches the strings matched by both this and
the other automaton.</p>
</div><h3 id='method.complement' class='method'><code id='complement.v'>fn <a href='#method.complement' class='fnname'>complement</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.Complement.html" title="struct fst::automaton::Complement">Complement</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code></h3><div class='docblock'><p>Returns an automaton that matches the strings not matched by this
automaton.</p>
</div></div><span class='loading-content'>Loading content...</span>
<h2 id='foreign-impls' class='small-section-header'>Implementations on Foreign Types<a href='#foreign-impls' class='anchor'></a></h2><h3 id='impl-Automaton' class='impl'><code class='in-band'>impl&lt;'a, T:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt; <a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a </a>T</code><a href='#impl-Automaton' class='anchor'></a><a class='srclink' href='../src/fst/automaton/mod.rs.html#98-120' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.State-1' class="type"><code id='State.t-1'>type <a href='#associatedtype.State' class="type">State</a> = T::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a></code></h4><h4 id='method.start' class="method hidden"><code id='start.v-1'>fn <a href='#method.start' class='fnname'>start</a>(&amp;self) -&gt; Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#101-103' title='goto source code'>[src]</a></h4><h4 id='method.is_match' class="method hidden"><code id='is_match.v-1'>fn <a href='#method.is_match' class='fnname'>is_match</a>(&amp;self, state: &amp;Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#105-107' title='goto source code'>[src]</a></h4><h4 id='method.can_match-1' class="method hidden"><code id='can_match.v-1'>fn <a href='#method.can_match' class='fnname'>can_match</a>(&amp;self, state: &amp;Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#109-111' title='goto source code'>[src]</a></h4><h4 id='method.will_always_match-1' class="method hidden"><code id='will_always_match.v-1'>fn <a href='#method.will_always_match' class='fnname'>will_always_match</a>(&amp;self, state: &amp;Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#113-115' title='goto source code'>[src]</a></h4><h4 id='method.accept' class="method hidden"><code id='accept.v-1'>fn <a href='#method.accept' class='fnname'>accept</a>(&amp;self, state: &amp;Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a>, byte: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>) -&gt; Self::<a class="type" href="../fst/automaton/trait.Automaton.html#associatedtype.State" title="type fst::automaton::Automaton::State">State</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#117-119' title='goto source code'>[src]</a></h4><h4 id='method.starts_with-1' class="method"><code id='starts_with.v-1'>fn <a href='../fst/automaton/trait.Automaton.html#method.starts_with' class='fnname'>starts_with</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.StartsWith.html" title="struct fst::automaton::StartsWith">StartsWith</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#69-71' title='goto source code'>[src]</a></h4><h4 id='method.union-1' class="method"><code id='union.v-1'>fn <a href='../fst/automaton/trait.Automaton.html#method.union' class='fnname'>union</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Union.html" title="struct fst::automaton::Union">Union</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#75-80' title='goto source code'>[src]</a></h4><h4 id='method.intersection-1' class="method"><code id='intersection.v-1'>fn <a href='../fst/automaton/trait.Automaton.html#method.intersection' class='fnname'>intersection</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Intersection.html" title="struct fst::automaton::Intersection">Intersection</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#84-89' title='goto source code'>[src]</a></h4><h4 id='method.complement-1' class="method"><code id='complement.v-1'>fn <a href='../fst/automaton/trait.Automaton.html#method.complement' class='fnname'>complement</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.Complement.html" title="struct fst::automaton::Complement">Complement</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#93-95' title='goto source code'>[src]</a></h4></div><span class='loading-content'>Loading content...</span>
<h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'><h3 id='impl-Automaton-1' class='impl'><code class='in-band'>impl Automaton for <a class="struct" href="../fst/automaton/struct.AlwaysMatch.html" title="struct fst::automaton::AlwaysMatch">AlwaysMatch</a></code><a href='#impl-Automaton-1' class='anchor'></a><a class='srclink' href='../src/fst/automaton/mod.rs.html#197-205' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.State-2' class="type"><code id='State.t-2'>type <a href='#associatedtype.State-2' class="type">State</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></code></h4><h4 id='method.start-1' class="method hidden"><code id='start.v-2'>fn <a href='#method.start-1' class='fnname'>start</a>(&amp;self)</code><a class='srclink' href='../src/fst/automaton/mod.rs.html#200' title='goto source code'>[src]</a></h4><h4 id='method.is_match-1' class="method hidden"><code id='is_match.v-2'>fn <a href='#method.is_match-1' class='fnname'>is_match</a>(&amp;self, _: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#201' title='goto source code'>[src]</a></h4><h4 id='method.can_match-2' class="method hidden"><code id='can_match.v-2'>fn <a href='#method.can_match-2' class='fnname'>can_match</a>(&amp;self, _: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#202' title='goto source code'>[src]</a></h4><h4 id='method.will_always_match-2' class="method hidden"><code id='will_always_match.v-2'>fn <a href='#method.will_always_match-2' class='fnname'>will_always_match</a>(&amp;self, _: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#203' title='goto source code'>[src]</a></h4><h4 id='method.accept-1' class="method hidden"><code id='accept.v-2'>fn <a href='#method.accept-1' class='fnname'>accept</a>(&amp;self, _: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, _: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>)</code><a class='srclink' href='../src/fst/automaton/mod.rs.html#204' title='goto source code'>[src]</a></h4><h4 id='method.starts_with-2' class="method"><code id='starts_with.v-2'>fn <a href='../fst/automaton/trait.Automaton.html#method.starts_with' class='fnname'>starts_with</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.StartsWith.html" title="struct fst::automaton::StartsWith">StartsWith</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#69-71' title='goto source code'>[src]</a></h4><h4 id='method.union-2' class="method"><code id='union.v-2'>fn <a href='../fst/automaton/trait.Automaton.html#method.union' class='fnname'>union</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Union.html" title="struct fst::automaton::Union">Union</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#75-80' title='goto source code'>[src]</a></h4><h4 id='method.intersection-2' class="method"><code id='intersection.v-2'>fn <a href='../fst/automaton/trait.Automaton.html#method.intersection' class='fnname'>intersection</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Intersection.html" title="struct fst::automaton::Intersection">Intersection</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#84-89' title='goto source code'>[src]</a></h4><h4 id='method.complement-2' class="method"><code id='complement.v-2'>fn <a href='../fst/automaton/trait.Automaton.html#method.complement' class='fnname'>complement</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.Complement.html" title="struct fst::automaton::Complement">Complement</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#93-95' title='goto source code'>[src]</a></h4></div><h3 id='impl-Automaton-2' class='impl'><code class='in-band'>impl&lt;'a&gt; Automaton for <a class="struct" href="../fst/automaton/struct.Subsequence.html" title="struct fst::automaton::Subsequence">Subsequence</a>&lt;'a&gt;</code><a href='#impl-Automaton-2' class='anchor'></a><a class='srclink' href='../src/fst/automaton/mod.rs.html#164-188' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.State-3' class="type"><code id='State.t-3'>type <a href='#associatedtype.State-3' class="type">State</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><h4 id='method.start-2' class="method hidden"><code id='start.v-3'>fn <a href='#method.start-2' class='fnname'>start</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#168' title='goto source code'>[src]</a></h4><h4 id='method.is_match-2' class="method hidden"><code id='is_match.v-3'>fn <a href='#method.is_match-2' class='fnname'>is_match</a>(&amp;self, state: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#171-173' title='goto source code'>[src]</a></h4><h4 id='method.can_match-3' class="method hidden"><code id='can_match.v-3'>fn <a href='#method.can_match-3' class='fnname'>can_match</a>(&amp;self, _: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#176' title='goto source code'>[src]</a></h4><h4 id='method.will_always_match-3' class="method hidden"><code id='will_always_match.v-3'>fn <a href='#method.will_always_match-3' class='fnname'>will_always_match</a>(&amp;self, state: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#179-181' title='goto source code'>[src]</a></h4><h4 id='method.accept-2' class="method hidden"><code id='accept.v-3'>fn <a href='#method.accept-2' class='fnname'>accept</a>(&amp;self, state: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, byte: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#184-187' title='goto source code'>[src]</a></h4><h4 id='method.starts_with-3' class="method"><code id='starts_with.v-3'>fn <a href='../fst/automaton/trait.Automaton.html#method.starts_with' class='fnname'>starts_with</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.StartsWith.html" title="struct fst::automaton::StartsWith">StartsWith</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#69-71' title='goto source code'>[src]</a></h4><h4 id='method.union-3' class="method"><code id='union.v-3'>fn <a href='../fst/automaton/trait.Automaton.html#method.union' class='fnname'>union</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Union.html" title="struct fst::automaton::Union">Union</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#75-80' title='goto source code'>[src]</a></h4><h4 id='method.intersection-3' class="method"><code id='intersection.v-3'>fn <a href='../fst/automaton/trait.Automaton.html#method.intersection' class='fnname'>intersection</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Intersection.html" title="struct fst::automaton::Intersection">Intersection</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#84-89' title='goto source code'>[src]</a></h4><h4 id='method.complement-3' class="method"><code id='complement.v-3'>fn <a href='../fst/automaton/trait.Automaton.html#method.complement' class='fnname'>complement</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.Complement.html" title="struct fst::automaton::Complement">Complement</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#93-95' title='goto source code'>[src]</a></h4></div><h3 id='impl-Automaton-3' class='impl'><code class='in-band'>impl&lt;A:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt; Automaton for <a class="struct" href="../fst/automaton/struct.Complement.html" title="struct fst::automaton::Complement">Complement</a>&lt;A&gt;</code><a href='#impl-Automaton-3' class='anchor'></a><a class='srclink' href='../src/fst/automaton/mod.rs.html#362-388' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.State-4' class="type"><code id='State.t-4'>type <a href='#associatedtype.State-4' class="type">State</a> = <a class="struct" href="../fst/automaton/struct.ComplementState.html" title="struct fst::automaton::ComplementState">ComplementState</a>&lt;A&gt;</code></h4><h4 id='method.start-3' class="method hidden"><code id='start.v-4'>fn <a href='#method.start-3' class='fnname'>start</a>(&amp;self) -&gt; <a class="struct" href="../fst/automaton/struct.ComplementState.html" title="struct fst::automaton::ComplementState">ComplementState</a>&lt;A&gt;</code><a class='srclink' href='../src/fst/automaton/mod.rs.html#365-367' title='goto source code'>[src]</a></h4><h4 id='method.is_match-3' class="method hidden"><code id='is_match.v-4'>fn <a href='#method.is_match-3' class='fnname'>is_match</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.ComplementState.html" title="struct fst::automaton::ComplementState">ComplementState</a>&lt;A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#369-371' title='goto source code'>[src]</a></h4><h4 id='method.can_match-4' class="method hidden"><code id='can_match.v-4'>fn <a href='#method.can_match-4' class='fnname'>can_match</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.ComplementState.html" title="struct fst::automaton::ComplementState">ComplementState</a>&lt;A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#373-375' title='goto source code'>[src]</a></h4><h4 id='method.will_always_match-4' class="method hidden"><code id='will_always_match.v-4'>fn <a href='#method.will_always_match-4' class='fnname'>will_always_match</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.ComplementState.html" title="struct fst::automaton::ComplementState">ComplementState</a>&lt;A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#377-379' title='goto source code'>[src]</a></h4><h4 id='method.accept-3' class="method hidden"><code id='accept.v-4'>fn <a href='#method.accept-3' class='fnname'>accept</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.ComplementState.html" title="struct fst::automaton::ComplementState">ComplementState</a>&lt;A&gt;, byte: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>) -&gt; <a class="struct" href="../fst/automaton/struct.ComplementState.html" title="struct fst::automaton::ComplementState">ComplementState</a>&lt;A&gt;</code><a class='srclink' href='../src/fst/automaton/mod.rs.html#381-387' title='goto source code'>[src]</a></h4><h4 id='method.starts_with-4' class="method"><code id='starts_with.v-4'>fn <a href='../fst/automaton/trait.Automaton.html#method.starts_with' class='fnname'>starts_with</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.StartsWith.html" title="struct fst::automaton::StartsWith">StartsWith</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#69-71' title='goto source code'>[src]</a></h4><h4 id='method.union-4' class="method"><code id='union.v-4'>fn <a href='../fst/automaton/trait.Automaton.html#method.union' class='fnname'>union</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Union.html" title="struct fst::automaton::Union">Union</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#75-80' title='goto source code'>[src]</a></h4><h4 id='method.intersection-4' class="method"><code id='intersection.v-4'>fn <a href='../fst/automaton/trait.Automaton.html#method.intersection' class='fnname'>intersection</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Intersection.html" title="struct fst::automaton::Intersection">Intersection</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#84-89' title='goto source code'>[src]</a></h4><h4 id='method.complement-4' class="method"><code id='complement.v-4'>fn <a href='../fst/automaton/trait.Automaton.html#method.complement' class='fnname'>complement</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.Complement.html" title="struct fst::automaton::Complement">Complement</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#93-95' title='goto source code'>[src]</a></h4></div><h3 id='impl-Automaton-4' class='impl'><code class='in-band'>impl&lt;A:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt; Automaton for <a class="struct" href="../fst/automaton/struct.StartsWith.html" title="struct fst::automaton::StartsWith">StartsWith</a>&lt;A&gt;</code><a href='#impl-Automaton-4' class='anchor'></a><a class='srclink' href='../src/fst/automaton/mod.rs.html#220-274' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.State-5' class="type"><code id='State.t-5'>type <a href='#associatedtype.State-5' class="type">State</a> = <a class="struct" href="../fst/automaton/struct.StartsWithState.html" title="struct fst::automaton::StartsWithState">StartsWithState</a>&lt;A&gt;</code></h4><h4 id='method.start-4' class="method hidden"><code id='start.v-5'>fn <a href='#method.start-4' class='fnname'>start</a>(&amp;self) -&gt; <a class="struct" href="../fst/automaton/struct.StartsWithState.html" title="struct fst::automaton::StartsWithState">StartsWithState</a>&lt;A&gt;</code><a class='srclink' href='../src/fst/automaton/mod.rs.html#223-232' title='goto source code'>[src]</a></h4><h4 id='method.is_match-4' class="method hidden"><code id='is_match.v-5'>fn <a href='#method.is_match-4' class='fnname'>is_match</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.StartsWithState.html" title="struct fst::automaton::StartsWithState">StartsWithState</a>&lt;A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#234-239' title='goto source code'>[src]</a></h4><h4 id='method.can_match-5' class="method hidden"><code id='can_match.v-5'>fn <a href='#method.can_match-5' class='fnname'>can_match</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.StartsWithState.html" title="struct fst::automaton::StartsWithState">StartsWithState</a>&lt;A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#241-246' title='goto source code'>[src]</a></h4><h4 id='method.will_always_match-5' class="method hidden"><code id='will_always_match.v-5'>fn <a href='#method.will_always_match-5' class='fnname'>will_always_match</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.StartsWithState.html" title="struct fst::automaton::StartsWithState">StartsWithState</a>&lt;A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#248-253' title='goto source code'>[src]</a></h4><h4 id='method.accept-4' class="method hidden"><code id='accept.v-5'>fn <a href='#method.accept-4' class='fnname'>accept</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.StartsWithState.html" title="struct fst::automaton::StartsWithState">StartsWithState</a>&lt;A&gt;, byte: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>) -&gt; <a class="struct" href="../fst/automaton/struct.StartsWithState.html" title="struct fst::automaton::StartsWithState">StartsWithState</a>&lt;A&gt;</code><a class='srclink' href='../src/fst/automaton/mod.rs.html#255-273' title='goto source code'>[src]</a></h4><h4 id='method.starts_with-5' class="method"><code id='starts_with.v-5'>fn <a href='../fst/automaton/trait.Automaton.html#method.starts_with' class='fnname'>starts_with</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.StartsWith.html" title="struct fst::automaton::StartsWith">StartsWith</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#69-71' title='goto source code'>[src]</a></h4><h4 id='method.union-5' class="method"><code id='union.v-5'>fn <a href='../fst/automaton/trait.Automaton.html#method.union' class='fnname'>union</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Union.html" title="struct fst::automaton::Union">Union</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#75-80' title='goto source code'>[src]</a></h4><h4 id='method.intersection-5' class="method"><code id='intersection.v-5'>fn <a href='../fst/automaton/trait.Automaton.html#method.intersection' class='fnname'>intersection</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Intersection.html" title="struct fst::automaton::Intersection">Intersection</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#84-89' title='goto source code'>[src]</a></h4><h4 id='method.complement-5' class="method"><code id='complement.v-5'>fn <a href='../fst/automaton/trait.Automaton.html#method.complement' class='fnname'>complement</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.Complement.html" title="struct fst::automaton::Complement">Complement</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#93-95' title='goto source code'>[src]</a></h4></div><h3 id='impl-Automaton-5' class='impl'><code class='in-band'>impl&lt;A:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>, B:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt; Automaton for <a class="struct" href="../fst/automaton/struct.Intersection.html" title="struct fst::automaton::Intersection">Intersection</a>&lt;A, B&gt;</code><a href='#impl-Automaton-5' class='anchor'></a><a class='srclink' href='../src/fst/automaton/mod.rs.html#321-353' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.State-6' class="type"><code id='State.t-6'>type <a href='#associatedtype.State-6' class="type">State</a> = <a class="struct" href="../fst/automaton/struct.IntersectionState.html" title="struct fst::automaton::IntersectionState">IntersectionState</a>&lt;A, B&gt;</code></h4><h4 id='method.start-5' class="method hidden"><code id='start.v-6'>fn <a href='#method.start-5' class='fnname'>start</a>(&amp;self) -&gt; <a class="struct" href="../fst/automaton/struct.IntersectionState.html" title="struct fst::automaton::IntersectionState">IntersectionState</a>&lt;A, B&gt;</code><a class='srclink' href='../src/fst/automaton/mod.rs.html#324-329' title='goto source code'>[src]</a></h4><h4 id='method.is_match-5' class="method hidden"><code id='is_match.v-6'>fn <a href='#method.is_match-5' class='fnname'>is_match</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.IntersectionState.html" title="struct fst::automaton::IntersectionState">IntersectionState</a>&lt;A, B&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#331-333' title='goto source code'>[src]</a></h4><h4 id='method.can_match-6' class="method hidden"><code id='can_match.v-6'>fn <a href='#method.can_match-6' class='fnname'>can_match</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.IntersectionState.html" title="struct fst::automaton::IntersectionState">IntersectionState</a>&lt;A, B&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#335-337' title='goto source code'>[src]</a></h4><h4 id='method.will_always_match-6' class="method hidden"><code id='will_always_match.v-6'>fn <a href='#method.will_always_match-6' class='fnname'>will_always_match</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.IntersectionState.html" title="struct fst::automaton::IntersectionState">IntersectionState</a>&lt;A, B&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#339-341' title='goto source code'>[src]</a></h4><h4 id='method.accept-5' class="method hidden"><code id='accept.v-6'>fn <a href='#method.accept-5' class='fnname'>accept</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;state: &amp;<a class="struct" href="../fst/automaton/struct.IntersectionState.html" title="struct fst::automaton::IntersectionState">IntersectionState</a>&lt;A, B&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;byte: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><br>) -&gt; <a class="struct" href="../fst/automaton/struct.IntersectionState.html" title="struct fst::automaton::IntersectionState">IntersectionState</a>&lt;A, B&gt;</code><a class='srclink' href='../src/fst/automaton/mod.rs.html#343-352' title='goto source code'>[src]</a></h4><h4 id='method.starts_with-6' class="method"><code id='starts_with.v-6'>fn <a href='../fst/automaton/trait.Automaton.html#method.starts_with' class='fnname'>starts_with</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.StartsWith.html" title="struct fst::automaton::StartsWith">StartsWith</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#69-71' title='goto source code'>[src]</a></h4><h4 id='method.union-6' class="method"><code id='union.v-6'>fn <a href='../fst/automaton/trait.Automaton.html#method.union' class='fnname'>union</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Union.html" title="struct fst::automaton::Union">Union</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#75-80' title='goto source code'>[src]</a></h4><h4 id='method.intersection-6' class="method"><code id='intersection.v-6'>fn <a href='../fst/automaton/trait.Automaton.html#method.intersection' class='fnname'>intersection</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Intersection.html" title="struct fst::automaton::Intersection">Intersection</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#84-89' title='goto source code'>[src]</a></h4><h4 id='method.complement-6' class="method"><code id='complement.v-6'>fn <a href='../fst/automaton/trait.Automaton.html#method.complement' class='fnname'>complement</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.Complement.html" title="struct fst::automaton::Complement">Complement</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#93-95' title='goto source code'>[src]</a></h4></div><h3 id='impl-Automaton-6' class='impl'><code class='in-band'>impl&lt;A:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>, B:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt; Automaton for <a class="struct" href="../fst/automaton/struct.Union.html" title="struct fst::automaton::Union">Union</a>&lt;A, B&gt;</code><a href='#impl-Automaton-6' class='anchor'></a><a class='srclink' href='../src/fst/automaton/mod.rs.html#283-312' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.State-7' class="type"><code id='State.t-7'>type <a href='#associatedtype.State-7' class="type">State</a> = <a class="struct" href="../fst/automaton/struct.UnionState.html" title="struct fst::automaton::UnionState">UnionState</a>&lt;A, B&gt;</code></h4><h4 id='method.start-6' class="method hidden"><code id='start.v-7'>fn <a href='#method.start-6' class='fnname'>start</a>(&amp;self) -&gt; <a class="struct" href="../fst/automaton/struct.UnionState.html" title="struct fst::automaton::UnionState">UnionState</a>&lt;A, B&gt;</code><a class='srclink' href='../src/fst/automaton/mod.rs.html#286-291' title='goto source code'>[src]</a></h4><h4 id='method.is_match-6' class="method hidden"><code id='is_match.v-7'>fn <a href='#method.is_match-6' class='fnname'>is_match</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.UnionState.html" title="struct fst::automaton::UnionState">UnionState</a>&lt;A, B&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#293-295' title='goto source code'>[src]</a></h4><h4 id='method.can_match-7' class="method hidden"><code id='can_match.v-7'>fn <a href='#method.can_match-7' class='fnname'>can_match</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.UnionState.html" title="struct fst::automaton::UnionState">UnionState</a>&lt;A, B&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#297-299' title='goto source code'>[src]</a></h4><h4 id='method.will_always_match-7' class="method hidden"><code id='will_always_match.v-7'>fn <a href='#method.will_always_match-7' class='fnname'>will_always_match</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.UnionState.html" title="struct fst::automaton::UnionState">UnionState</a>&lt;A, B&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#301-304' title='goto source code'>[src]</a></h4><h4 id='method.accept-6' class="method hidden"><code id='accept.v-7'>fn <a href='#method.accept-6' class='fnname'>accept</a>(&amp;self, state: &amp;<a class="struct" href="../fst/automaton/struct.UnionState.html" title="struct fst::automaton::UnionState">UnionState</a>&lt;A, B&gt;, byte: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>) -&gt; <a class="struct" href="../fst/automaton/struct.UnionState.html" title="struct fst::automaton::UnionState">UnionState</a>&lt;A, B&gt;</code><a class='srclink' href='../src/fst/automaton/mod.rs.html#306-311' title='goto source code'>[src]</a></h4><h4 id='method.starts_with-7' class="method"><code id='starts_with.v-7'>fn <a href='../fst/automaton/trait.Automaton.html#method.starts_with' class='fnname'>starts_with</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.StartsWith.html" title="struct fst::automaton::StartsWith">StartsWith</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#69-71' title='goto source code'>[src]</a></h4><h4 id='method.union-7' class="method"><code id='union.v-7'>fn <a href='../fst/automaton/trait.Automaton.html#method.union' class='fnname'>union</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Union.html" title="struct fst::automaton::Union">Union</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#75-80' title='goto source code'>[src]</a></h4><h4 id='method.intersection-7' class="method"><code id='intersection.v-7'>fn <a href='../fst/automaton/trait.Automaton.html#method.intersection' class='fnname'>intersection</a>&lt;Rhs:&nbsp;<a class="trait" href="../fst/automaton/trait.Automaton.html" title="trait fst::automaton::Automaton">Automaton</a>&gt;(self, rhs: Rhs) -&gt; <a class="struct" href="../fst/automaton/struct.Intersection.html" title="struct fst::automaton::Intersection">Intersection</a>&lt;Self, Rhs&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#84-89' title='goto source code'>[src]</a></h4><h4 id='method.complement-7' class="method"><code id='complement.v-7'>fn <a href='../fst/automaton/trait.Automaton.html#method.complement' class='fnname'>complement</a>(self) -&gt; <a class="struct" href="../fst/automaton/struct.Complement.html" title="struct fst::automaton::Complement">Complement</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a class='srclink' href='../src/fst/automaton/mod.rs.html#93-95' title='goto source code'>[src]</a></h4></div></div><span class='loading-content'>Loading content...</span><script type="text/javascript">window.inlined_types=new Set([]);</script><script type="text/javascript" async
src="../implementors/fst/trait.Automaton.js">
</script></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><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>&#9166;</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><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><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 = "fst";</script><script src="../aliases.js"></script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>