[][src]Trait tealr::TealDataMethods

pub trait TealDataMethods<'lua, T> {
    fn add_method<S: ?Sized, A, R, M>(&mut self, name: &S, method: M)
    where
        S: AsRef<[u8]>,
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        M: 'static + Send + Fn(Context<'lua>, &T, A) -> Result<R>
;
fn add_method_mut<S: ?Sized, A, R, M>(&mut self, name: &S, method: M)
    where
        S: AsRef<[u8]>,
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        M: 'static + Send + FnMut(Context<'lua>, &mut T, A) -> Result<R>
;
fn add_function<S: ?Sized, A, R, F>(&mut self, name: &S, function: F)
    where
        S: AsRef<[u8]>,
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        F: 'static + Send + Fn(Context<'lua>, A) -> Result<R>
;
fn add_function_mut<S: ?Sized, A, R, F>(&mut self, name: &S, function: F)
    where
        S: AsRef<[u8]>,
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        F: 'static + Send + FnMut(Context<'lua>, A) -> Result<R>
;
fn add_meta_method<A, R, M>(&mut self, meta: MetaMethod, method: M)
    where
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        M: 'static + Send + Fn(Context<'lua>, &T, A) -> Result<R>
;
fn add_meta_method_mut<A, R, M>(&mut self, meta: MetaMethod, method: M)
    where
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        M: 'static + Send + FnMut(Context<'lua>, &mut T, A) -> Result<R>
;
fn add_meta_function<A, R, F>(&mut self, meta: MetaMethod, function: F)
    where
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        F: 'static + Send + Fn(Context<'lua>, A) -> Result<R>
;
fn add_meta_function_mut<A, R, F>(&mut self, meta: MetaMethod, function: F)
    where
        A: FromLuaMulti<'lua> + TealMultiValue,
        R: ToLuaMulti<'lua> + TealMultiValue,
        F: 'static + Send + FnMut(Context<'lua>, A) -> Result<R>
; }

The teal version of UserDataMethods

The meaning of every method is the same, and so is its use. Look at RLua for documentation

The only diffrence is that TealDataMethods have an extra type bound on A and R. These are to get the type names when generating the .d.tl file

Required methods

fn add_method<S: ?Sized, A, R, M>(&mut self, name: &S, method: M) where
    S: AsRef<[u8]>,
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    M: 'static + Send + Fn(Context<'lua>, &T, A) -> Result<R>, 

Exposes a method to lua

fn add_method_mut<S: ?Sized, A, R, M>(&mut self, name: &S, method: M) where
    S: AsRef<[u8]>,
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    M: 'static + Send + FnMut(Context<'lua>, &mut T, A) -> Result<R>, 

Exposes a method to lua that has a mutable reference to Self

fn add_function<S: ?Sized, A, R, F>(&mut self, name: &S, function: F) where
    S: AsRef<[u8]>,
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    F: 'static + Send + Fn(Context<'lua>, A) -> Result<R>, 

Exposes a function to lua (its a method that does not take Self)

fn add_function_mut<S: ?Sized, A, R, F>(&mut self, name: &S, function: F) where
    S: AsRef<[u8]>,
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    F: 'static + Send + FnMut(Context<'lua>, A) -> Result<R>, 

Exposes a mutable function to lua

fn add_meta_method<A, R, M>(&mut self, meta: MetaMethod, method: M) where
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    M: 'static + Send + Fn(Context<'lua>, &T, A) -> Result<R>, 

Exposes a meta method to lua http://lua-users.org/wiki/MetatableEvents

fn add_meta_method_mut<A, R, M>(&mut self, meta: MetaMethod, method: M) where
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    M: 'static + Send + FnMut(Context<'lua>, &mut T, A) -> Result<R>, 

Exposes a meta and mutable method to lua http://lua-users.org/wiki/MetatableEvents

fn add_meta_function<A, R, F>(&mut self, meta: MetaMethod, function: F) where
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    F: 'static + Send + Fn(Context<'lua>, A) -> Result<R>, 

Exposes a meta function to lua http://lua-users.org/wiki/MetatableEvents

fn add_meta_function_mut<A, R, F>(&mut self, meta: MetaMethod, function: F) where
    A: FromLuaMulti<'lua> + TealMultiValue,
    R: ToLuaMulti<'lua> + TealMultiValue,
    F: 'static + Send + FnMut(Context<'lua>, A) -> Result<R>, 

Exposes a meta and mutable function to lua http://lua-users.org/wiki/MetatableEvents

Loading content...

Implementors

impl<'a, 'lua, Container, T> TealDataMethods<'lua, T> for UserDataWrapper<'a, 'lua, Container, T> where
    T: UserData,
    Container: UserDataMethods<'lua, T>, 
[src]

Loading content...