FunctionEnvironment

Trait FunctionEnvironment 

Source
pub trait FunctionEnvironment {
    type FnName;
    type Fn;

    // Required methods
    fn function(&self, name: &Self::FnName) -> Option<&Self::Fn>;
    fn set_function(&mut self, name: Self::FnName, func: Self::Fn);

    // Provided method
    fn has_function(&self, name: &Self::FnName) -> bool { ... }
}
Expand description

An interface for setting and getting shell functions.

Required Associated Types§

Source

type FnName

The name to be associated with a function.

Source

type Fn

The type of the function.

Required Methods§

Source

fn function(&self, name: &Self::FnName) -> Option<&Self::Fn>

Get a particularly named function if it was registered.

Source

fn set_function(&mut self, name: Self::FnName, func: Self::Fn)

Register a shell function with a given name.

Provided Methods§

Source

fn has_function(&self, name: &Self::FnName) -> bool

Check if a particularly named function was registered.

Implementations on Foreign Types§

Source§

impl<'a, T: ?Sized + FunctionEnvironment> FunctionEnvironment for &'a mut T

Source§

type FnName = <T as FunctionEnvironment>::FnName

Source§

type Fn = <T as FunctionEnvironment>::Fn

Source§

fn function(&self, name: &Self::FnName) -> Option<&Self::Fn>

Source§

fn set_function(&mut self, name: Self::FnName, func: Self::Fn)

Source§

fn has_function(&self, name: &Self::FnName) -> bool

Implementors§

Source§

impl<A, FM, L, V, EX, WD, B, N, ERR> FunctionEnvironment for Env<A, FM, L, V, EX, WD, B, N, ERR>
where N: Hash + Eq + Clone,

Source§

type FnName = N

Source§

type Fn = Arc<dyn Spawn<Env<A, FM, L, V, EX, WD, B, N, ERR>, Error = ERR> + Send + Sync>

Source§

impl<N, F> FunctionEnvironment for FnEnv<N, F>
where N: Clone + Hash + Eq, F: Clone,

Source§

type FnName = N

Source§

type Fn = F