Enum quad_compat_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
Pure(Shared<dyn Fn(NativeCallContext<'_>, &mut [&'_ mut Dynamic]) -> Result<Dynamic, Box<EvalAltResult>>>)
Tuple Fields
0: Shared<dyn Fn(NativeCallContext<'_>, &mut [&'_ mut Dynamic]) -> Result<Dynamic, Box<EvalAltResult>>>
A pure native Rust function with all arguments passed by value.
Method(Shared<dyn Fn(NativeCallContext<'_>, &mut [&'_ mut Dynamic]) -> Result<Dynamic, Box<EvalAltResult>>>)
Tuple Fields
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.
Iterator(fn(_: Dynamic) -> Box<dyn Iterator<Item = Dynamic>>)
An iterator function.
Plugin(Shared<dyn PluginFunction>)
Tuple Fields
0: Shared<dyn PluginFunction>
A plugin function,
Script(Shared<ScriptFnDef>)
Tuple Fields
0: Shared<ScriptFnDef>
A script-defined function.
Not available under no_function
.
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