Enum rhai::plugin::CallableFunction [−][src]
pub enum CallableFunction { Pure(Shared<dyn Fn(NativeCallContext<'_>, &mut [&'_ mut Dynamic]) -> Result<Dynamic, Box<EvalAltResult>>>), Method(Shared<dyn Fn(NativeCallContext<'_>, &mut [&'_ mut Dynamic]) -> Result<Dynamic, Box<EvalAltResult>>>), Iterator(fn(_: Dynamic) -> Box<dyn Iterator<Item = Dynamic>>), Plugin(Shared<dyn PluginFunction>), Script(Shared<ScriptFnDef>), }
Expand description
A type encapsulating a function callable by Rhai.
Variants
A pure native Rust function with all arguments passed by value.
Tuple Fields of Pure
0: Shared<dyn Fn(NativeCallContext<'_>, &mut [&'_ mut Dynamic]) -> Result<Dynamic, Box<EvalAltResult>>>
A native Rust object method with the first argument passed by reference, and the rest passed by value.
Tuple Fields of Method
0: Shared<dyn Fn(NativeCallContext<'_>, &mut [&'_ mut Dynamic]) -> Result<Dynamic, Box<EvalAltResult>>>
An iterator function.
A plugin function,
Tuple Fields of Plugin
0: Shared<dyn PluginFunction>
A script-defined function.
Not available under no_function
.
Tuple Fields of Script
0: Shared<ScriptFnDef>
Implementations
Is this a plugin function?
pub fn get_native_fn(
&self
) -> Option<&Shared<dyn Fn(NativeCallContext<'_>, &mut [&'_ mut Dynamic]) -> Result<Dynamic, Box<EvalAltResult>>>>
pub fn get_native_fn(
&self
) -> Option<&Shared<dyn Fn(NativeCallContext<'_>, &mut [&'_ mut Dynamic]) -> Result<Dynamic, Box<EvalAltResult>>>>
Get a shared reference to a native Rust function.
Get a shared reference to a script-defined function definition.
Not available under no_function
.
Get a reference to an iterator function.
Get a shared reference to a plugin function.
Create a new CallableFunction::Pure
.
pub fn from_method(
func: Box<dyn Fn(NativeCallContext<'_>, &mut [&'_ mut Dynamic]) -> Result<Dynamic, Box<EvalAltResult>>>
) -> Self
pub fn from_method(
func: Box<dyn Fn(NativeCallContext<'_>, &mut [&'_ mut Dynamic]) -> Result<Dynamic, Box<EvalAltResult>>>
) -> Self
Create a new CallableFunction::Method
.
Create a new CallableFunction::Plugin
.
Trait Implementations
Performs the conversion.
Performs the conversion.
Performs the conversion.
Auto Trait Implementations
impl !RefUnwindSafe for CallableFunction
impl !Send for CallableFunction
impl !Sync for CallableFunction
impl Unpin for CallableFunction
impl !UnwindSafe for CallableFunction
Blanket Implementations
Mutably borrows from an owned value. Read more