Struct contained_actors::turing::Machine
source · pub struct Machine<S: Symbolic = String> { /* private fields */ }Implementations§
Trait Implementations§
source§impl<'de, S> Deserialize<'de> for Machine<S>where
S: Deserialize<'de> + Symbolic,
impl<'de, S> Deserialize<'de> for Machine<S>where S: Deserialize<'de> + Symbolic,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<S: PartialEq + Symbolic> PartialEq<Machine<S>> for Machine<S>
impl<S: PartialEq + Symbolic> PartialEq<Machine<S>> for Machine<S>
source§impl<S: Symbolic> Turing<S> for Machine<S>
impl<S: Symbolic> Turing<S> for Machine<S>
type Error = String
type Scope = Operator<S>
source§fn execute_until(
&mut self,
program: Program<S>,
until: impl Fn(&Self::Scope) -> bool
) -> Result<Self::Scope, Self::Error>
fn execute_until( &mut self, program: Program<S>, until: impl Fn(&Self::Scope) -> bool ) -> Result<Self::Scope, Self::Error>
source§fn translate(
&mut self,
program: Program<S>,
tape: Tapes<S>
) -> Result<Tape<S>, Self::Error>
fn translate( &mut self, program: Program<S>, tape: Tapes<S> ) -> Result<Tape<S>, Self::Error>
Turing::translate returns the mutated Tape after updating the Turing::Scope and finally invoking Turing::execute
impl<S: Eq + Symbolic> Eq for Machine<S>
impl<S: Symbolic> StructuralEq for Machine<S>
impl<S: Symbolic> StructuralPartialEq for Machine<S>
Auto Trait Implementations§
impl<S> RefUnwindSafe for Machine<S>where S: RefUnwindSafe,
impl<S> Send for Machine<S>where S: Send,
impl<S> Sync for Machine<S>where S: Sync,
impl<S> Unpin for Machine<S>where S: Unpin,
impl<S> UnwindSafe for Machine<S>where S: UnwindSafe,
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.