Struct peepmatic_automata::Automaton [−][src]
pub struct Automaton<TAlphabet, TState, TOutput> where
TAlphabet: Clone + Eq + Hash + Ord,
TState: Clone + Eq + Hash,
TOutput: Output, { /* fields omitted */ }
Expand description
A finite-state transducer automata.
These are constructed via Builder
.
An Automaton
is immutable: new entries cannot be inserted and existing
entries cannot be removed.
To query an Automaton
, there are two APIs:
-
get
– a high-level method to get the associated output value of a full input sequence. -
query
– a low-level method to incrementally query the automata. It does not require that you have the full input sequence on hand all at once, only the next character. It also allows you to process the output as it it built up, rather than only at giving you the final, complete output value.
Implementations
impl<TAlphabet, TState, TOutput> Automaton<TAlphabet, TState, TOutput> where
TAlphabet: Clone + Eq + Hash + Ord,
TState: Clone + Eq + Hash,
TOutput: Output,
[src]
impl<TAlphabet, TState, TOutput> Automaton<TAlphabet, TState, TOutput> where
TAlphabet: Clone + Eq + Hash + Ord,
TState: Clone + Eq + Hash,
TOutput: Output,
[src]pub fn get<'a>(
&self,
input: impl IntoIterator<Item = &'a TAlphabet>
) -> Option<TOutput> where
TAlphabet: 'a,
[src]
pub fn get<'a>(
&self,
input: impl IntoIterator<Item = &'a TAlphabet>
) -> Option<TOutput> where
TAlphabet: 'a,
[src]Get the output value associated with the given input sequence.
Returns None
if the input sequence is not a member of this
Automaton
’s keys. Otherwise, returns Some(output)
.
Trait Implementations
Auto Trait Implementations
impl<TAlphabet, TState, TOutput> RefUnwindSafe for Automaton<TAlphabet, TState, TOutput> where
TAlphabet: RefUnwindSafe,
TOutput: RefUnwindSafe,
TState: RefUnwindSafe,
TAlphabet: RefUnwindSafe,
TOutput: RefUnwindSafe,
TState: RefUnwindSafe,
impl<TAlphabet, TState, TOutput> Send for Automaton<TAlphabet, TState, TOutput> where
TAlphabet: Send,
TOutput: Send,
TState: Send,
TAlphabet: Send,
TOutput: Send,
TState: Send,
impl<TAlphabet, TState, TOutput> Sync for Automaton<TAlphabet, TState, TOutput> where
TAlphabet: Sync,
TOutput: Sync,
TState: Sync,
TAlphabet: Sync,
TOutput: Sync,
TState: Sync,
impl<TAlphabet, TState, TOutput> Unpin for Automaton<TAlphabet, TState, TOutput> where
TState: Unpin,
TState: Unpin,
impl<TAlphabet, TState, TOutput> UnwindSafe for Automaton<TAlphabet, TState, TOutput> where
TAlphabet: RefUnwindSafe,
TOutput: RefUnwindSafe,
TState: UnwindSafe,
TAlphabet: RefUnwindSafe,
TOutput: RefUnwindSafe,
TState: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more