Struct rhai::FnPtr[][src]

pub struct FnPtr(_, _);

A general function pointer, which may carry additional (i.e. curried) argument values to be passed onto a function during a call.

Implementations

impl FnPtr[src]

pub fn new(name: impl Into<ImmutableString>) -> Result<Self, Box<EvalAltResult>>[src]

Create a new function pointer.

pub fn fn_name(&self) -> &str[src]

Get the name of the function.

pub fn curry(&self) -> &[Dynamic]

Notable traits for &'_ [u8]

impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
[src]

Get the curried arguments.

pub fn add_curry(&mut self, value: Dynamic) -> &mut Self

Notable traits for &'_ mut R

impl<'_, R> Read for &'_ mut R where
    R: Read + ?Sized
impl<'_, W> Write for &'_ mut W where
    W: Write + ?Sized
impl<'_, F> Future for &'_ mut F where
    F: Future + Unpin + ?Sized
type Output = <F as Future>::Output;impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;
[src]

Add a new curried argument.

pub fn set_curry(
    &mut self,
    values: impl IntoIterator<Item = Dynamic>
) -> &mut Self

Notable traits for &'_ mut R

impl<'_, R> Read for &'_ mut R where
    R: Read + ?Sized
impl<'_, W> Write for &'_ mut W where
    W: Write + ?Sized
impl<'_, F> Future for &'_ mut F where
    F: Future + Unpin + ?Sized
type Output = <F as Future>::Output;impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;
[src]

Set curried arguments to the function pointer.

pub fn is_curried(&self) -> bool[src]

Is the function pointer curried?

pub fn is_anonymous(&self) -> bool[src]

Does the function pointer refer to an anonymous function?

pub fn call_dynamic(
    &self,
    ctx: &NativeCallContext<'_>,
    this_ptr: Option<&mut Dynamic>,
    arg_values: impl AsMut<[Dynamic]>
) -> Result<Dynamic, Box<EvalAltResult>>
[src]

Call the function pointer with curried arguments (if any).

If this function is a script-defined function, it must not be marked private.

WARNING

All the arguments are consumed, meaning that they’re replaced by (). This is to avoid unnecessarily cloning the arguments. Do not use the arguments after this call. If they are needed afterwards, clone them before calling this function.

Trait Implementations

impl Clone for FnPtr[src]

impl Debug for FnPtr[src]

impl Display for FnPtr[src]

impl From<FnPtr> for Dynamic[src]

impl TryFrom<&'_ str> for FnPtr[src]

type Error = Box<EvalAltResult>

The type returned in the event of a conversion error.

impl TryFrom<ImmutableString> for FnPtr[src]

type Error = Box<EvalAltResult>

The type returned in the event of a conversion error.

impl TryFrom<String> for FnPtr[src]

type Error = Box<EvalAltResult>

The type returned in the event of a conversion error.

Auto Trait Implementations

impl !RefUnwindSafe for FnPtr

impl !Send for FnPtr

impl !Sync for FnPtr

impl Unpin for FnPtr

impl !UnwindSafe for FnPtr

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.