eryon-core 0.0.4

The core modules of the eryon framework, providing essential functionality for computational entities.
/*
    Appellation: execute <module>
    Contrib: @FL03
*/

/// A trait denoting the ability to execute a given operation, transaction, etc.
pub trait Execute<Rhs> {
    type Output;

    fn execute(self, rhs: Rhs) -> Self::Output;
}
/// The [`ExecuteMut`] trait is similar to [`Execute`], but it allows for
/// mutable execution of the operation, transaction, etc. This is useful when
/// the operation needs mutable access to the data being operated on.
pub trait ExecuteMut<Rhs> {
    type Output;

    fn execute_mut(&mut self, rhs: Rhs) -> Self::Output;
}